Part Number Hot Search : 
R711X R1100 MAX149 BB2847 PE33191 DG2037DQ 1002T TC387
Product Description
Full Text Search
 

To Download DM9102D Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  DM9102D single chip fast ethernet nic controller preliminary datasheet 1 version: DM9102D-ds-p02 jan. 14, 2005 1. general description the DM9102D is a fully integrated and cost effective single chip fast ethernet nic controller. it is designed with low power and high performance process. it is a 2.5/3.3v device with 5v tolerance. the DM9102D provides direct interface to the pci bus and supports bus master mode to achieve the high performance of the pci bus. it fully complies with pci 2.2. in the media side, the DM9102D interfaces to the utp3, 4, 5 in 10base-t and the utp5 in 100base-tx. it is fully compliant with the ieee 802.3u spec. the auto-negotiation and auto-mdi/mdix function can automatically configure the DM9102D to take the maximum advantage of its abilities. the DM9102D also supports ieee 802.3x?s full-duplex flow control to prevent the receive overflow of link partner. the ipv4 ip/tcp/udp checksum generation and checking can reduce the system cpu utilization. the DM9102D supports two types of power management mechanisms. the main mechanism is based on the onnow architecture, which is required for pc99. the alternative mechanism is based upon the remote wake-on-lan mechanism. 2. block diagram
DM9102D single chip fast ethernet nic controller 2 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 table of contents 1. general description.............................................................1 2. block diagram......................................................................3 3. features................................................................................4 4 pin configuration: DM9102D 128pin lqfp......................5 5. pin description...................................................................6 5.1 pci bus interface signals.................................................6 5.2 boot rom and eeprom interfaces..............................7 5.3 led pins.............................................................................8 5.4 network interface ..............................................................8 5.5 miscellaneous pins............................................................8 5.6 power pins .........................................................................9 5.7 nc pins.............................................................................10 5.8 strap pins..........................................................................10 6. register definition ...........................................................11 6.1 pci configuration registers...........................................11 6.1.1 identification id .............................................................12 6.1.2 command & status .....................................................13 6.1.3 revision id....................................................................14 6.1.4 miscellaneous function...............................................15 6.1.5 i/o base address.........................................................15 6.1.6 memory mapped base address ................................16 6.1.7 subsystem identification..............................................16 6.1.8 expansion rom base address .................................17 6.1.9 capabilities pointer ......................................................17 6.1.10 interrupt & latency configuration.............................18 6.1.11 device specific configuration register ...................18 6.1.12 power management register ..................................19 6.1.13 power management control/status ........................20 6.2 control and status register (cr)..................................21 6.2.1 system control register (cr0)..................................22 6.2.2 transmit descriptor poll demand (cr1)...................22 6.2.3 receive descriptor poll demand (cr2) ...................22 6.2.4 receive descriptor base address (cr3)..................23 6.2.5 transmit descriptor base address (cr4).................23 6.2.6 network status report register (cr5) .....................23 6.2.7 network operation register (cr6)............................25 6.2.8 interrupt mask register (cr7)....................................27 6.2.9 statistical counter register (cr8) .............................28 6.2.10 management access register (cr9) .....................29 6.2.11 phy status register (cr12)....................................30 6.2.12 sample frame access register (cr13) ................30 6.2.13 sample frame data register (cr14).....................31 6.2.14 watchdog and jabber timer register (cr15) ......31 6.3 phy management register set....................................32 6.3.1 basic mode control register (bmcr) - register 0 .............................................................................33 6.3.2 basic mode status register (bmsr) - register 1 .............................................................................34 6.3.3 phy identifier register #1 (phyidr1) - register 2 .............................................................................35 6.3.4 phy identifier register #2 (phyidr2) - register 3 .............................................................................35 6.3.5 auto-negotiation advertisement register (anar) - register 4 .............................................................................35 6.3.6 auto-negotiation link partner ability register (anlpar) - register 5....................................................36 6.3.7 auto-negotiation expansion register (aner) - register 6 .............................................................................37 6.3.8 davicom specified configuration register (dscr) - register 10h ........................................................................37 6.3.9 davicom specified configuration and status register (dscsr) - register 11h.......................................38 6.3.10 10base-t configuration/status (10btscrcsr) - register 12h ........................................................................39 6.3.11 power down control register (pwdor) - register 13h ........................................................................40 6.3.12 auto-mdi/mdix controlregister (mdix) - register 14h ........................................................................40 7. functional description.......................................................41 7.1 system buffer management..........................................41 7.1.1 overview .......................................................................41 7.1.2 data structure and descriptor list .............................41 figure 7-1?????????????????.41 7.1.3 buffer management: chain structure method..........41 7.1.4 descriptor list: buffer descriptor format ..................41 7.2 initialization procedure....................................................46 7.2.1 data buffer processing algorithm..............................46 7.2.2 receive data buffer processing ................................46 figure 7-2?????????????????.46 7.2.3 transmit data buffer processing ...............................47 figure 7-3?????????????????.47 7.3 network function ............................................................48 7.3.1 overview .......................................................................48 7.3.2 receive process and state machine ........................48 7.3.3 transmit process and state machine .......................48
DM9102D single chip fast ethernet nic controller preliminary datasheet 3 version: DM9102D-ds-p02 jan. 14, 2005 7.3.4 physical layer overview.............................................48 7.4 serial management interface.........................................49 7.4.1 management interface - read frame structure ....49 7.4.2 management interface - write frame structure ...49 7.5 power management .......................................................51 7.5.1 overview .......................................................................51 7.5.2 pci function power management status ................51 7.5.3 the power manage ment operation..........................51 7.6 sample frame programming guide ............................53 7.7 eeprom overview........................................................54 7.7.1 subsystem id .............................................................54 7.7.2 vendor id ....................................................................54 7.7.3 auto_ load_ control....................................................54 7.7.4 new_ capabilities_ enable.........................................54 7.7.5 pmc...............................................................................54 7.7.6 byte offset (15).............................................................54 7.7.7 ethernet address .........................................................55 7.7.8 example of DM9102D eeprom format.................55 7.8 external mii interface ......................................................56 7.8.1 the sharing pin table.................................................56 8. dc and ac electrical characteristics..............................57 8.1 absolute maximum ratings( 25 c )..............................57 8.2 operating conditions ......................................................57 8.3 dc electrical characteristics..........................................58 8.4 ac electrical characteristics & timing waveforms ....59 8.4.1 pci clock specifications timing...........?????.59 8.4.2 other pci signals timing diagram............................59 8.4.3 boot rom timing ........................................................60 8.4.4 eeprom read timing...............................................60 8.4.5 tp interface...................................................................61 8.4.6 oscillator/crystal timing..............................................61 8.4.7 auto-negotiation and fast link pulse timing parameters.....................................................................61 8.4.8 fast link pulses ...........................................................61 9. application notes...............................................................62 9.1 network interface signal routing..................................62 9.2 10base-t/100base-tx application figure 9-1 .........62 9.3 10base-t/100base-tx (power reduction application) figure 9-2.......................................................................63 9.4 power supply decoupling capacitors figure 9-3.....64 9.5 ground plane layout figure 9-4-1 figure 9-4-2 figure 9-4-3 .............65 9.6 power plane partitioning figure 9-5 ...........................66 9.7 magnetics selection guide table 9-1: 10/100m magnetic sources ......................67 table 9-2: magnetic specification requirements .....67 9.8 crystal selection guide table 9-3: crystal specifications .................................68 figure 9-6: crystal circuit diagram.............................68 10 package information........................................................69 package information (128 pin, lqfp) ...........................69 11. ordering information?????????????..70
DM9102D single chip fast ethernet nic controller 4 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 3. features ? integrated fast ethernet mac, physical layer and transceiver in one chip. ? 128 pin lqfp with cmos process. ? +2.5/3.3v power supply with +5v tolerant i/o. ? comply with pci specification 2.2. ? pci bus master architecture. ? pci bus burst mode data transfer. ? two large independent transmission and receipt fifo . ? up to 256k bytes boot eprom or flash interface. ? eeprom 93c46 interface automatically supports node id load and configuration information. ? comply with ieee 802.3u 100base-tx and 802.3 10base-t. ? comply with ieee 802.3u auto-negotiation protocol for automatic link type selection. ? support ieee 802.3x full duplex flow control. ? vlan frame length support. ? ip/tcp/udp checksum generation and checking. ? zero copy supporting. ? comply with acpi and pci bus power management. ? support the mii (media independent interface) for an external phy. ? support wake-on-lan function and remote wake-up (magic packet, link change and microsoft ? wake-up frame). ? support 4 wake-on-lan (wol) signals (active high pulse, active low pulse, active high, active low.) ? high performance 100mbps clock generator and data recovery circuit. ? digital clock recovery circuit, using advanced digital algorithm to reduce jitter. ? adaptive equalization circuit and baseline wandering restoration circuit for 100mbps receiver. ? provides loopback mode for easy system diagnostics. ? support auto-mdi/mdix. ? low power consumption modes: - power reduced mode (cable detection)  - power down mode  - selectable tx drivers for 1:1 or 1.25:1 transformers for additional power reduction. (1.25:1 transformers for non auto mdix only).
preliminary datasheet 5 version: DM9102D-ds-p02 jan. 14, 2005 4. pin configuration : 128 pin lqfp 11 DM9102D 74 73 72 71 70 69 68 67 66 65 64 63 62 60 59 58 57 56 50 49 48 47 46 45 44 43 42 41 40 39 32 31 84 85 86 87 88 89 90 91 92 93 94 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 55 54 53 52 51 61 75 76 77 78 79 80 81 82 83 agnd agnd dvdd avdd25 avdd25 txo+ pciclk isolate# gnt# req# dvdd25 ad31 ad30 ad24 cbe3# dgnd idsel ad23 ad21 ad20 ad19 ad18 ad17/ma17 ad16/ma16 cbe2# ad22 frame# stop# irdy# trdy# devsel# serr# perr# cbe0# vctrl25 avdd spd10# nc nc nc nc dvdd25 gnt2# req2# md5 md6 test2 bpcs#/eecs nc nc idsel2 nc eedo eeck md4 md1 md0/eedi md2 ad0/ma0 ad1/ma1 ad2/ma2 ad6/ma6 ad7/ma7 ad5/ma5 ad3/ma3 md3 ad4/ma4 ad9/ma9 ad10/ma10 ad11/ma11 dvdd ad13/ma13 ad14/ma14 ad12/ma12 ad8/ma8 dvdd dgnd dgnd dvdd dvdd dgnd 27 dvdd dvdd dgnd dvdd dgnd dgnd 96 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 121 122 120 pme# rst# txo- x2 dgnd agnd bgresg avdd25 avdd25 rxi- bgres rxi+ nc link&act# spd100# dgnd int# md7 x1/osc dgnd fdx# dvdd dgnd wol nc dvdd dgnd dvdd dvdd 128 127 126 125 124 123 ad29 ad28 dgnd ad27 ad26 ad25 38 37 36 35 34 33 par cbe1# dgnd clockrun# test1 ad15/ma15
6 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 5. pin description i = input, o = output, i/o = input / output, o/d = open drain, p = power, # = asserted low 5.1 pci bus interface signals pin no. 128lqfp pin name i/o description 113 int# o/d interrupt request this signal will be asserted low when an interrupted condition as defined in cr5 is set, and the corresponding mask bit in cr7 is et. 114 rst# i system reset when this signal is low, the DM9102D performs the internal system reset to its initial state. 115 pciclk i pci system clock pci bus clock that provides timing for DM9102D related to pci bus transactions. 117 gnt# i bus grant this signal is asserted low to indicate that DM9102D has been granted ownership of the bus by the central arbiter. 118 req# o bus request the DM9102D will assert this signal low to request the ownership of the bus. 119 pme# o/d power management event. the DM9102D drives it low to indicates that a power management event has occurred. 3 idsel i initialization device select this signal is asserted high during the configuration space read/write access. 21 frame# i/o cycle frame this signal is driven low by the DM9102D master mode to indicate the beginning and duration of a bus transaction. 23 irdy# i/o initiator ready this signal is driven low when the master is ready to complete the current data phase of the transaction. a data phase is completed on any clock when both irdy# and trdy# are sampled asserted. 24 trdy# i/o target ready this signal is driven low when the target is ready to complete the current data phase of the transaction. during a read, it indicates that valid data is asserted. during a write, it indicates that the target is prepared to accept data. 26 devsel# i/o device select the DM9102D asserts the signal low when it recognizes its target address after frame# is asserted. as a bus master, the DM9102D will sample this signal which insures its destination address of the data transfer is recognized by a target. 27 stop# i/o stop this signal is asserted low by the target device to request the
preliminary datasheet 7 version: DM9102D-ds-p02 jan. 14, 2005 master device to stop the current transaction. 30 perr# i/o parity error the DM9102D as a master or slave will assert this signal low to indicate a parity error on any incoming data. 31 serr# i/o system error this signal is asserted low when address parity is detected with enabled pcics bit31 (detected parity error.) the system error asserts two clock cycles after the falling address if an address parity error is detected. 33 par i/o parity this signal indicates even parity across ad0~ad31 and c/be0#~c/be3# including the par pin. this signal is an output for the master and an input for the slave device. it is stable and valid one clock after the address phase. 2,20,34,48 c/be3# c/be2# c/be1# c/be0# i/o bus command/byte enable during the address phase, these signals define the bus command or the type of bus transaction that will take place. during the data phase these pins indicate which byte lanes contain valid data. c/be0# applies to bit7-0 and c/be3# applies to bit31-24. 121,122,123,124,126,127, 128,1,6,7,10,11,13,14,16, 17,38,39,40,41,43,44,47, 49,50,51,54,55,56,57,59, 60 ad31~ad0/ ma17~ma0 i/o address & data or boot rom address these are multiplexed address and data bus signals. as a bus master, the DM9102D will drive address during the first bus phase. during subsequent phases, the DM9102D will either read or write data expecting the target to increment its address pointer. as a target, the DM9102D will decode each address on the bus and respond if it is the target being addressed. ad17~ad0 can also be used as boot rom address ma17~ma0 when the boot rom is accessed. 5.2 boot rom and eeprom interfaces pin no. 128lqfp pin name i/o description 62 md0/eedi i boot rom data input/eeprom data in this is a multiplexed pin used by eedi and md0. when boot rom is selected, it acts as boot rom data input, otherwise the DM9102D will read the contents of eeprom serially through this pin. 63,64,65,66,67,68,69 md1~md7 i boot rom data input bus 72 bpcs#/eecs o boot rom (active low )or eeprom chip selection. 78 eedo o eeprom data out this pin is used serially to write op-codes, addresses and data into the eeprom. 79 eeck o eeprom serial clock this pin is used as the clock for the eeprom data transfer. 5.3 led pins pin no. 128lqfp pin name i/o description 87 link&act# o/d led output pin, active low
8 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 mode 0 = link and traffic led. active low to indicate normal link, and it will flash as a traffic led when transmitting or receiving. mode 1 = traffic led only 88 fdx# o/d led output pin, active low mode 0 = full duplex led mode 1 = full duplex led 89 spd100# o/d led output pin, active low mode 0 = 100mbps led mode 1 = 100mbps led 90 spd10# o/d led output pin, active low mode 0 = 10mbps led mode 1 = link led 5.4 network interface pin no. 128lqfp pin name i/o description 105,106 rxi+ rx- i 100m/10mbps differential input pair. these two pins are differential receive input pair for 100base-tx and 10base-t. they are capable of receiving 100base-tx mlt-3 or 10base-t manchester encoded data. 109,110 txo+ txo- o 100m/10mbps differential output pair. these two pins are differential output pair for 100base-tx and 10base-t. this output pair provides controlled rising and falling time, designed to filter the transmitter?s output. 5.5 miscellaneous pins pin no. 128lqfp pin name i/o description 75 idsel2 o pci idsel 2. when this pin is pulled high, the pci multiple function is present, and it act as pci idsel2 function. 84 req2# o pci request 2 if the pci multiple function mode is selected, this pin act as the pci req2# function. 83 gnt2# i pci gnt2# if the pci multiple function mode is selected, this pin act as gnt2# function. when this pin is pulled high, the DM9102D is in led mode 1 otherwise the led mode 0 is selected. 36 clockrun# i/o clockrun# the clockrun# signal is used by the system to pause or slow down the pci clock signal. it is used by the DM9102D to enable or disable suspension or restart of the pci clock. when the clockrun# pin is not used, this pin should be connected to an external pulled down resistor. 71 test2 i test mode control 2 in normal operation, tie high to this pin.
preliminary datasheet 9 version: DM9102D-ds-p02 jan. 14, 2005 37 test1 i test mode control 1 in normal operation, tie low to this pin. 94 wol o wake up signal. the DM9102D can assert this pin if it detects link status change, magic packet, or sample frame match. the default is low active pulse mode. the DM9102D also supports high/low and pulse/level options from eeprom setting. 97 x2 o crystal feedback output this pin is used for crystal connection only. leave this pin open if oscillator is used. 98 x1/osc i crystal or oscillator input. (25mhz ? 50ppm) connect to a 25mhz oscillator or series resonance, fundamental frequency crystal. 102 bgres i bandgap voltage reference resistor. it connects to a 6.8k ? 1% error tolerance resistor between this pin and bgresg pin, to provide an accurate current reference for DM9102D (10base-t/100base-tx application). 116 isolate# i isolate this pin is used to isolate the DM9102D from the pci bus. 95 vctrl25 o voltage 2.5v control this pin can be used to control a bjt transistor ?s base pin to generate a stable 2.5v power in bjt?s drain pin . 5.6 power pins pin no. 128lqfp pin name i/o description 101 bgresg p bandgap ground it is used together with the bgres pin. 100,107,108 agnd p analog ground 103,104,111,112 avdd25 p analog power, +2.5v 96 avdd p analog power, +3.3v 8,9,15,22,28,29,35,45, 46,58,76,86,99,125 dgnd p digital ground 82,120 dvdd25 p digital power, +2.5v 4,5,12,18,19,25,32,42,52, 53,61,70 dvdd p digital power, +3.3v
10 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 5.7 nc pins pin no. 128lqfp pin name i/o description 73,74,77,80,81,85,91,92, 93 nc - these pins are unused in application and should let them unconnected. 5.8 strap pins table 1: pull-high 1k~10k, 0: default floating. pin no. pin name description 72 bpcs#/eecs disable auto-mdix 1: auto-mdix disabled 0: auto-mdix enabled 75 idsel2 pci multiple function 1: enable pci multiple function 0: disable pci multiple function 83 gnt2# led mode 1: led mode 1 0: led mode 0
preliminary datasheet 11 version: DM9102D-ds-p02 jan. 14, 2005 6. register definition 6.1 pci configuration registers the definitions of pci configuration registers are based on the pci specification revision 2.2 and it provides the initialization and configuration information to operate the pci interface in the DM9102D. all registers can be accessed with byte, word, or double word mode. as defined in pci specification 2.1, read accesses to reserve or unimplemented registers will return a value of ?0.? these registers are to be described in the following sections. the default value of pci configuration registers after reset. description identifier address offset value of reset identification pciid 00h 91021282h command & status pcics 04h 02100000h* revision pcirv 08h 02000050h miscellaneous pcilt 0ch bios determine i/o base address pciio 10h system allocate memory base address pcimem 14h system allocate reserved -------- 18h - 28h 00000000h subsystem identification pcisid 2ch load from eeprom expansion rom base address pcirom 30h 00000000h capability pointer cap_ptr 34h 00000050h reserved -------- 38h 00000000h interrupt & latency pciint 3ch system allocate bit7~0 device specific configuration register pciusr 40h 00000000h** power management register pcipmr 50h c0310001h** power management control & status pmcsr 54h 00000100h * it is written to 02100007h by most bios. ** it may be changed from eeprom in application. key to default in the register description that follows, the default column takes the form where j : 1 bit set to logic one 0 bit set to logic zero x no default value : ro = read only rw = read/write r/c: means read / write & write "1" for clear.
12 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 6.1.1 identification id (xxxxxx00h - pciid) 31 16 15 0 dev_id vend_id device id vendor id bit default type description 16:31 9102h ro the field identifies the particular device. unique and fixed number for the DM9102D is 9102h. 0:15 1282h ro this field identifies the manufacturer of the device. unique and fixed number for davicom is 1282h. 6.1.2 command & status (xxxxxx04h - pcics) 31 16 15 0 status command status command 98 parity error response enable/disable i/o space access enable/disable memory space access enable/disable master device capability enable/disable serr# driver enable/disable mast mode fast back-to-back address/data steeping vga palette snoop special cycle memory write and invalid 31 30 29 28 27 26 25 24 23 22 21 20 10 0 0 1 0 0 0 19 1 detected parity error signal for system error master abort detected target abort detected devsel timing data parity error detected slave mode fast back to back new capability 66mhz capability user definable send target abort reserved 00 76543210 00 bit default type description
preliminary datasheet 13 version: DM9102D-ds-p02 jan. 14, 2005 31 0 r/c detected parity error the DM9102D samples the ad[0:31], c/be[0:3]#, and the par signal to check parity and to set parity errors. in slave mode, the parity check falls on command phase and data valid phase (irdy# and trdy# both active). in master mode, the DM9102D will check each data phase, during a memory read cycle, for parity error. during a memory write cycle, if an error occurs, the perr# signal will be driven by the target. this bit is set by the DM9102D and cleared by writing "1". there is no effect by writing "0" 30 0 r/c signal for system error this bit is set when the serr# signal is driven by the DM9102D. this system error occurs when an address parity is detected under the condition that bit 8 and bit 6 in command register below are set 29 0 r/c master abort detected this bit is set when the DM9102D terminates a master cycle with the master-abort bus transaction 28 0 r/c target abort detected this bit is set when the DM9102D terminates a master cycle due to a target-abort signal from other targets 27 0 r/c send target abort (0 for no implementation) the DM9102D will never assert the target-abort sequence 26:25 01 r/c devsel timing (01 select medium timing) medium timing of devsel# means the DM9102D will assert devsel# signal two clocks after frame# is sample ?asserted? 24 0 r/c data parity error detected this bit will take effect only when operating as a master and when a parity error response bit in command configuration register is set. it is set under two conditions: (i) perr# asserted by the DM9102D in memory data read error (ii) perr# sent from the target due to memory data write error 23 0 ro slave mode fast back-to-back capable (0 for no support) this bit is always reads "1" to indicate that the DM9102D is capable of accepting fast back-to-back transaction as a slave mode device 22 0 ro user-definable feature supported (0 for no support) 21 0 ro 66 mhz (0 for no capability) 20 1 ro new capability this bit indicates whether this function implements a list of extended capabilities such as pci power management. this bit may be updated by eeprom. when set this bit indicates the presence of new capability. a value of 0 means that this function does not implement new capability 19:10 0 ro reserved 9 0 ro master mode fast back-to-back (0 for no support) the DM9102D does not support master mode fast back-to-back capability and will not generate fast back-to-back cycles 8 0 rw serr# driver enable/disable this bit controls the assertion of serr# signal output. the serr# output will be asserted on detection of an address parity error and if both this bit and bit 6 are set 7 0 ro address/data stepping (0 for no stepping) 6 0 rw parity error response enable/disable setting this bit will enable the DM9102D to assert perr# on the detection
14 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 of a data parity error and to assert serr# for reporting address parity error 5 0 ro vga palette snooping (0 for no support) 4 0 ro memory write and invalid (0 for no implementation) the DM9102D only generates memory write cycle 3 0 ro special cycles (0 for no implementation) 2 1 rw master device capability enable/disable when this bit is set, DM9102D has the ability of master mode operation 1 1 rw memory space access enable/disable this bit controls the ability of memory space access. the memory access includes memory mapped i/o access and boot rom access. as the system boots up, this bit will be enabled by bios for boot rom memory access. while in normal operation, using memory mapped i/o access, this bit should be set by driver before memory access cycles 0 1 rw i/o space access enable/disable this bit controls the ability of i/o space access. it will be set by bios after power on 6.1.3 revision id (xxxxxx08h - pcirv) 31 0 7 8 revision id class code 3 4 class code revision major number revision minor number bit default type description 31:8 020000h ro class code (020000h) this is the standard code for ethernet lan controller 7:4 0101 ro revision major number this is the silicon-major revision number that will increase for the subsequent versions of the DM9102D 3:0 0000 ro revision minor number this is the silicon-minor revision number that will increase for the subsequent versions of the DM9102D
preliminary datasheet 15 version: DM9102D-ds-p02 jan. 14, 2005 6.1.4 miscellaneous function (xxxxxx0ch - pcilt) 31 16 15 0 87 23 24 bist header type latency timer cache line size built-in self test header type latency timer for the bus master cache line size for memory read bit default type description 31:24 00h ro built in self test ( 00h means no implementation) 23:16 00h ro header type ( 00h means single function with predefined header type ) if pin 75 idsel2 is pull-high, header type is 80h means multiple function is present. 15:8 00h rw latency timer for the bus master the latency timer is guaranteed by the system and measured by clock cycles. when the frame# is asserted at the beginning of a master period by the DM9102D, the value will be copied into a counter and start counting down. if the frame# is de-asserted prior to count expiration, this value is meaningless. when the count expires before gnt# is de-asserted, the master transaction will be terminated as soon as the gnt# is removed while gnt# signal is removed and the counter is non-zero, the DM9102D will continue with its data transfers until the count expires. the system host will read min_gnt and max_lat registers to determine the latency requirement for the device and then initialize the latency timer with an appropriate value the reset value of latency timer is determined by bios 7:0 00h ro cache line size for memory read mode selection ( 00h means no implementation for use) 6.1.5 i/o base address (xxxxxx10h - pciio) 31 0 1 7 8 1 0000000 i/o base address i/o base address pci i/o range indication i/o or memory space indicator
16 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 bit default type description 31:7 undefined rw pci i/o base address this is the base address value for i/o accesses cycles. it will be compared to ad[31:7] in the address phase of bus command cycle for the i/o resource access 6:1 000000 ro pci i/o range indication it indicates that the minimum i/o resource size is 80h 0 1 ro i/o space or memory space base indicator determines that the register maps into the i/o space ( = 1 indicates i/o base) 6.1.6 memory mapped base address (xxxxxx14h - pcimem) 31 0 1 7 8 000000 0 memory base address 0 memor y base address memory range indication i/o or memory space indicator bit default type description 31:7 undefined r/w pci memory base address this is the base address value for memory accesses cycles. it will be compared to the ad [31:7] in the address phase of bus command cycle for the memory resource access 6:1 000000 ro pci memory range indication it indicates that the minimum memory resource size is 80h 0 0 ro i/o space or memory space base indicator determines that the register maps into the memory space( = 0 indicates memory base) 6.1.7 subsystem identification (xxxxxx2ch - pcisid) 0 31 subsystem id subsystem vendor id subsystem id subsystem vendor id bit default type description 31:16 xxxxh ro subsystem id it can be loaded from eeprom word 1 15:0 xxxxh ro subsystem vendor id it can be loaded from eeprom word 0
preliminary datasheet 17 version: DM9102D-ds-p02 jan. 14, 2005 6.1.8 expansion rom base address (xxxxxx30 - pcirom) 31 0 1 rom base address r/w 10 reserved 18 17 0000000 rom base address 9 00000000 bit default type description 31:10 00h rw rom base address with 256k boundary pcirom bit17~10 are hardwired to 0, indicating rom size is up to 256k size 9:1 000000000 ro reserved bits read as 0 0 0 rw expansion rom decoder enable/disable if this bit and the memory space access bit are both set to 1, the DM9102D will respond to its expansion rom 6.1.9 capabilities pointer (xxxxxx34h - cap _ptr) 31 0 7 8 reserved 0 capability pointer 10100 0 0 bit default type description 31:8 000000h ro reserved 7:0 01010000 ro capability pointer the cap_ ptr provides an offset (default is 50h) into the function?s pci configuration space for the location of the first term in the capabilities linked list. the cap_ ptr offset is double word aligned so the two least significant bits are always ?0?s
18 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 6.1.10 interrupt & latency configuration (xxxxxx3ch - pciint) 31 16 15 0 87 23 24 max_lat min_gnt int_pin int_line maximum latency timer minimum grant interrupt pin interrupt line bit default type description 31:24 28h ro maximum latency timer that can be sustained. 23:16 14h ro minimum grant minimum length of a burst period. 15:8 01h ro interrupt pin read as 01h to indicate inta# 7:0 xxh rw interrupt line that is routed to the interrupt controller the value depends on system software. 6.1.11 device specific configuration register (xxxxxx40h- pciusr) 31 30 29 16 15 8 0 reserved 27 26 28 7 25 24 23 device specific link event enable/disable sample frame event enable/disable magic packet event enable/disable link event status sample frame event status magic packet event status device specific reserved bit default type description 31 0 rw device specific bit (sleep mode) 30 0 rw device specific bit (snooze mode) 29 0 rw when set, enables link status change wake up event 28 0 rw when set, enables sample frame wake up event 27 0 rw when set, enables magic packet wake up event 26 0 ro when set, indicates the link change and the link status change event occurred 25 0 ro when set, indicates the sample frame is received and the sample frame match event occurred 24 0 ro when set, indicates the magic packet is received and the magic packet event occurred 23:16 00h ro reserved bits read as 0 15:8 00h rw device specific 7:0 00h ro reserved bits read as 0
preliminary datasheet 19 version: DM9102D-ds-p02 jan. 14, 2005 6.1.12 power management register (xxxxxx50h~pcipmr) 31 16 15 0 87 power management capabilities next item pointer capability identifier pmc next item pointer capability id bit default type description 31:27 11000 ro pme_ support this field indicates that the power states in which the function may assert pme#. a value of 0 for any bit indicates that the function is not capable of asserting the pme# signal while in that power state bit27 ? pme# support d0 bit28 ? pme# support d1 bit29 ? pme# support d2 bit30 ? pme# support d3(hot) bit31 ? pme# support d3(cold) DM9102D?s bit31~27=11000 indicates pme# can be asserted from d3(hot) & d3(cold) these bits can be load from eeprom word 7 bit [7:3] 26:25 00 ro reserved these two bits can be load from eeprom word 7 bit [1:0] 24:22 011 ro aux_ current this field reports the 3.3vaux auxiliary current requirement for the pci function. the default value of this field is 011 means 160ma and it can be loaded from eeprom word 4 bit [15:13] if eeprom word 4 bit [9] is 1 21 1 ro a ?1? indicates that the function requires a device specific initialization sequence following transition to the d0 uninitialized state this bit can be load from eeprom word 7 bit [2] 20 0 ro reserved 19 0 ro pme# clock ?0? indicates that no pci clock is required for the function to generate pme# 18:16 010 ro version a default value of 010 indicates that this function complies with the revision 1.1 of the pci power management interface specification this value can be loaded from eeprom word 4 bit [12:10] if eeprom word 4 bit [9] is 1 15:8 00h ro next item pointer the offset into the function?s pci configuration space pointing to the location of next item in the function?s capability list is ?00h? 7:0 01h ro capability identifier when ?01h? indicates the linked list item as being the pci power management registers
20 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 6.1.13 power management control/status (xxxxxx54h~pmcsr) reserved 31 r/w reserved r/w reserved r/w 16 15 14 9 8 7 2 1 0 pme_status pme_en power_state bit default type description 31:16 0000h ro reserved 15 0 rw/c pme_ status this bit is set when the function would normally assert the pme# signal independent of the state of the pme_ en bi t. writing a ?1? to this bit will clear it. this bit defaults to ?0? if the function does not support pme# generation from d3 (cold).if the function supports pme# from d3 (cold) then this bit is sticky and must be explicitly cleared by the operating system whenever the operating system is initially loaded. 14:9 000000 ro reserved it means that the DM9102D does not support reporting power consumption. 8 1 rw pme_ en write ?1? to enables the function to assert pme#, write ?0? to disable pme# assertion this bit defaults to ?0? if the function does not support pme# generation from d3 (cold) if the function supports pme# from d3(cold) then this bit is sticky and must be explicitly cleared by the operating system each time the operating system is initially loaded. 7:2 000000 ro reserved 1:0 00 rw this two bits field is both used to determine the current power state of a function and to set the function into a new power state. the definitions given below 00: d0 11: d3 (hot)
preliminary datasheet 21 version: DM9102D-ds-p02 jan. 14, 2005 6.2 control and status registers (cr) the DM9102D implements 16 control and status registers, which can be accessed by the host. these crs are double long word aligned. all crs are set to their default values by hardware or software reset unless otherwise specified. all control and status registers with their definitions and offset from io or memory base address are shown below: register description offset from csr base address default value after reset cr0 system control register 00h de000000h cr1 transmit descriptor poll demand 08h ffffffffh cr2 receive descriptor poll demand 10h ffffffffh cr3 receive descriptor base address register 18h 00000000h cr4 transmit descriptor base address register 20h 00000000h cr5 network status report register 28h fc000000h cr6 network operation mode register 30h 02040000h cr7 interrupt mask register 38h fffe0000h cr8 statistical counter register 40h 00000000h cr9 external management access register 48h 000083f0h cr10 reserved 50h ffffffffh cr11 reserved 58h fffe0000h cr12 phy status register 60h ffffffxxh cr13 sample frame access register 68h xxxxxx00h cr14 sample frame data register 70h unpredictable cr15 watchdog and jabber timer register 78h 00000000h key to default in the register description that follows, the default column takes the form: , where j : 1 bit set to logic one 0 bit set to logic zero x no default value : ro = read only rw = read/write rw/c = read/write and clear wo = write only ro/c = read only and cleared after read. reserved bits are shaded and should be written with 0. reserved bits are undefined on read access.
22 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 6.2.1 system control register (cr0) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 bit name default description 31:24 reserved deh,ro reserved 25:22 reserved 00,ro reserved 21 mrm 0,rw memory read multiple when set, the DM9102D will use memory read multiple command (c/be3~0 1100) when it initialize the memory read burst transaction as a master device when reset, it will use memory read command (c/be3 ~ 0 = 0110) for the same master operation 20:1 reserved 0,ro reserved 0 sr 0,rw software reset when set, the DM9102D will make a internal reset cycle. all consequent action to DM9102D2 should wait at least 32 pci clock cycles for its self-cleared. 6.2.2 transmit descriptor poll demand (cr1) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 bit name default description 31:0 tdp ffffffffh ,wo transmit descriptor polling command writing any value to this port will force DM9102D to poll the transmit descriptor. if the acting descriptor is not available, transmit process will return to suspend state. if the descriptor shows buffer available, transmit process will begin the data transfer. 6.2.3 receive descriptor poll demand (cr2) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 bit name default description 31:0 rdp ffffffffh ,wo receive descriptor polling command writing any value to this port will force DM9102D to poll the receive descriptor. if the acting descriptor is not available, receive process will return to suspend state. if the descriptor shows buffer available, re ceive process will begin the data transfer. 6.2.4 receive descriptor base address (cr3)
preliminary datasheet 23 version: DM9102D-ds-p02 jan. 14, 2005 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 bit name default description 31:0 rdba 00000000h, rw receive descriptor base address this register defines base address of receive descriptor-chain. the receive descriptor- polling command, after cr3 is set, will make DM9102D to fetch the descriptor at the base-address. this is a working register, so the value of reading is unpredictable. 6.2.5 transmit descriptor base address (cr4) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 bit name default description 31:0 tdba 00000000h, rw transmit descriptor base address this register defines base address of transmit descriptor-chain. the transmit descriptor- polling command after cr4 is set to make DM9102D fetch the descriptor at the base-address. this is a working register, so the value of reading is unpredictable. 6.2.6 network status report register (cr5) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 note: bits [13:0] can be cleared by written 1 to them respectively. bit name default description 31:26 reserved 000000,ro reserved 25:23 sbeb 000,ro system bus error bits these bits are read only and used to indicate the type of system bus fatal error. valid only when system bus error is set. the mapping bits are shown below bit25 bit24 bit23 bus error type 0 0 0 parity error 0 0 1 master abort 0 1 0 slave abort 0 1 1 reserved 1 x x reserved 22:20 txps 000,ro transmit process state these bits are read only and used to indicate the state of transmit process the mapping table is shown below bit22 bit21 bit20 process state 0 0 0 transmit process stopped 0 0 1 fetch transmit descriptor 0 1 0 move setup frame from the host memory
24 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 0 1 1 move data from host memory to transmit fifo 1 0 0 close descriptor by clearing owner bit of descriptor 1 0 1 waiting end of transmit 1 1 0 transmit end and close descriptor by writing status 1 1 1 transmit process suspend 19:17 rxps 000,ro receive process state these bits are read only and used to indicate the state of receive process. the mapping table is shown below bit19 bit18 bit17 process state 0 0 0 receive process stopped 0 0 1 fetch receive descriptor 0 1 0 wait for receive packet under buffer available 0 1 1 move data from receive fifo to host memory 1 0 0 close descriptor by clearing owner bit of descriptor 1 0 1 close descriptor by writing status 1 1 0 receive process suspended due to buffer unavailable 1 1 1 purge the current frame from received fifo because of the unavailable received buffer 16 nis 0,rw normal interrupt summary normal interrupt includes any of the three conditions: cr5<0> ? txci: transmit complete interrupt cr5<2> ? txdu: transmit buffer unavailable cr5<6> ? rxci: receive complete interrupt 15 ais 0,rw abnormal interrupt summary abnormal interrupt includes any interrupt condition as shown below, excluding normal interrupt conditions. they are t xps (bit1), txjt (bit3), txfu (bit5), rxdu (bit7), rxps (bit8), rxwt (bit9), sbe (bit13). 14 reserved 0,ro reserved 13 sbe 0,rw system bus error the pci system bus errors will set this bit. the type of system bus error is shown in cr5<25:23>. 12:10 reserved 0,ro reserved 9 rxwt 0,rw receive watchdog timer expired this bit is set to indicate that the receive watchdog timer has expired 8 rxps 0,rw receive process stopped this bit is set to indicate that the receive process enters the stopped state. 7 rxdu 0,rw receive buffer unavailable this bit is set when the DM9102D fetches the next receive descriptor that is still owned by the host. receive process will be suspended until a new frame enters or the receive polling command is set. 6 rxci 0,rw receive complete interrupt this bit is set when a received frame is fully moved into host memory and receive status has been written to descriptor. receive process is still running and continues to fetch next descriptor. 5 txfu 0,rw transmit fifo underrun this bit is set when transmit fifo has underrun condition during the packet transmission. it may happen due to the heavy load on bus, cause transmit buffer unavailable before end of packet. in this case, transmit process is placed in the suspend state and underrun error tdes0<1> is set. 4 reserved 0,ro reserved 3 txjt 0,rw transmit jabber expired this bit is set when the transmitted data is over 2048 byte
preliminary datasheet 25 version: DM9102D-ds-p02 jan. 14, 2005 transmit process will be aborted and placed in the stop state. it also causes transmit jabber timeout tdes0<14> to assert. 2 txdu 0,rw transmit buffer unavailable this bit is set when the DM9102D fetches the next transmit descriptor that is still owned by the host. transmit process will be suspended until the transmission polling command is set. 1 txps 0,rw transmit process stopped this bit is set to indicate transmit process enters the stopped state. 0 txci 0,rw transmit complete interrupt this bit is set when a frame is fully transmitted and transmit status has been written to descriptor (the tdes1<31> is also asserted). transmit process is still running and continues to fetch next descriptor. 6.2.7 network operation mode register (cr6) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 54 3 2 1 0 0 00 1 1 0 0 00 0 0 bit name default description 31 reserved 0,ro must be zero 30 rxa 0,rw receive all when set, all incoming packet will be received, regardless the destination address. the address match is checked according to thecr6<7>, cr6<6>, cr6<4>, cr6<2>, cr6<0>, and rdes0<30> will show this match 29 npfifo 0,rw set to not purge rx fifo for test only if rx buffer unavailable. 28:26 reserved 000,ro must be zero 25 reserved 1,ro must be one 24:23 reserved 00,ro must be zero 22 txtm 1,rw transmit threshold mode when set, the transmit threshold mode is 10mb/s. when reset, the threshold mode is 100mb/s. this bit is used together with cr6<15:14> to decide the exact threshold level. 21 sft 0,rw store and forward transmit when set, the packet transmission will be started after a full frame has been moved from the host memory to transmit fifo. when reset, the packet transmission?s start will depend on the threshold value specified in cr6<15:14>. 20 reserved 0,rw reserved 19 reserved 0,rw reserved 18 external mii_ mode 1,rw in external mii mode, use this bit to enable or disable internal phy see page 56 ?7.8 external mii interface? for details. 17 reserved 0,ro reserved 16 1pkt 0,rw one packet mode when this bit is set, only one packet is stored at tx fifo
26 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 15:14 tsb 0,rw threshold bits these bits are set together with cr6 [22] and will decide the exact fifo threshold level. the packet transmission will start after the data in the fifo exceeds the threshold value. bit 22 bit15 bit14 threshold 0 0 0 128 bytes 0 0 1 256 bytes 0 1 0 512 bytes 0 1 1 1024 bytes 1 0 0 64 bytes 1 0 1 128 bytes 1 1 0 192 bytes 1 1 1 256 bytes 13 txsc 0,rw transmit start/stop command when set, the transmit process will begin by fetching the transmit descriptor for available packet data to be transmitted (running state). if the fetched descriptor is owned by the host, transmit process will enter the suspend state and transmit buffer unavailable (cr5<2>) is set. otherwise it will begin to move data from host to fifo and transmit out after reaching threshold value. when reset, the transmit process is placed in the stopped state after completing the transmission of the current frame. 12 fcm 0,rw force collision mode when set, the transmission process is forced to be the collision status. meaningful only in the internal loop-back mode. 11:10 lbm 0,rw loop-back mode these bits decide two loop-back modes, mac and phy, besides normal operation. these loop-back modes expect transmitted data back to receive path and ignore collision detection. bit11 bit10 loop-back mode 0 0 normal 0 1 internal loop-back 1 0 internal phy digital loop-back 1 1 internal phy analog loop-back 9 fdm 0,rw full-duplex mode when internal phy is selected, this bit is the status of full-duplex mode of internal phy. when external phy is selected, set this bit to make the mac of the DM9102D operate in the full-duplex mode. 8 reserved 0,ro must be zero 7 pam 0,rw pass all multicast when set, any packet with a multicast destination address is received by the DM9102D. the packet with a physical address will also be filtered based on the filter mode setting 6 pm 0,rw promiscuous mode when set, any incoming valid frame is received by the DM9102D, and no matter what the destination address is. the DM9102D is initialized to this mode after reset operation. 5 reserved 0,ro must be zero
preliminary datasheet 27 version: DM9102D-ds-p02 jan. 14, 2005 4 iafm 0,ro inverse address filtering mode it is set to indicate the DM9102D operate in inverse filtering mode. this is a read only bit and decoded from the setup frame of tdes1 bit 28 and bit 22. 3 pbf 0,rw pass bad frame when set, the dm9102 is indicated that receiving the bad frames, including runt packets and truncated frames, is caused by the fifo overflow. the bad frame also has to pass the address filtering if the DM9102D is not set in promiscuous mode. 2 hofm 0,ro hash-only filter mode it is set to indicate the DM9102D operate in hash-only filtering mode. this is a read only bit and decoded from the setup frame of tdes1 bit 28 and bit 22. 1 rxrc 0,rw receive start/stop command when set, receive process will begin by fetching the receive descriptor for available buffer to store the new-coming packet (placed in the running state). if the fetched descriptor is owned by the host (no descriptor is owned by the DM9102D), the receive process will enter the suspend state and receive buffer unavailable cr5<7> sets. otherwise it runs to wait for the packet?s incoming. when reset, receive process is placed in the stopped state after completing the reception of the current frame. 0 hpfm 0,ro hash/perfect filter mode it is set to indicate the DM9102D operate in hash-only or hash filtering mode and it is cleared to indicate the DM9102D operate in perfect filtering mode. this is a read only bit and decoded from the setup frame of tdes1 bit 28 and bit 22. 6.2.8 interrupt mask register (cr7) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 54 3 2 1 0 bit name default description 16 nise 0,rw normal interrupt summary enable this bit is set to enable the interrupt for normal interrupt summary. normal interrupt includes three conditions: cr5<0> ? txci: transmit complete interrupt cr5<2> ? txdu: transmit buffer unavailable cr5<6> ? rxci: receive complete interrupt 15 aise 0,rw abnormal interrupt summary enable this bit is set to enable the interrupt for abnormal interrupt summary. abnormal interrupt includes all interrupt conditions as shown below, excluding normal interrupt conditions. they are txps(bit1), txjt(bit3), txfu(bit5), rxdu(bit7), rxps(bit8), rxwt(bit9), sbe(bit13). 14 reserved 0,ro reserved 13 sbee 0,rw system bus error enable when set together with cr7<15>, cr5<13>, it enables the interrupt for system bus error. the type of system bus error is shown in cr5<24:23>. 12:10 reserved 0,ro reserved 9 rxwte 0,rw receive watchdog timer expired enable when this bit and cr7<15>, (cr5<9> are set together, it enable the interrupt of the condition of the receive watchdog timer expired.
28 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 8 rxpse 0,rw receive process stopped enable when set together with cr7<15> and cr5<8>. this bit is set to enable the interrupt of receive process stopped condition. 7 rxdue 0,rw receive buffer unavailable enable when this bit and cr7<15>, cr5<7> are set together, it will enable the interrupt of receive buffer unavailable condition. 6 rxcie 0,rw receive complete interrupt enable when this bit and cr7<16>, cr5<6> are set together, it will enable the interrupt of receive process complete condition. 5 txfue 0,rw transmit fifo underrun enable when set together with cr7<15>, cr5<5>, it will enable the interrupt of transmit fifo underrun condition. 4 reserved 0,ro reserved 3 txjte 0,rw transmit jabber expired enable when this bit and cr7<15>, cr5<3> are set together, it enables the interrupt of transmit jabber timer expired condition. 2 txdue 0,rw transmit buffer unavailable enable when this bit and cr7<16>, cr5<2> are set together, the interrupt of transmit buffer unavailable is enabled. 1 txpse 0,rw transmit process stopped enable when this bit is set together with cr7<15> and cr5<1>, it will enable the interrupt of the transmit process to stop. 0 txcie 0,rw transmit complete interrupt enable when this bit and cr7<16>, cr5<0> are set, the transmit interrupt is enabled. 6.2.9 statistical counter register (cr8) bit name default description 31 roco 0,ro/c receive overflow counter overflow this bit is set when the purged packet counter (rxdu) has an overflow condition. 30:25 reserved 0,ro reserved 24:17 rxdu 0,ro/c receive purged packet counter this is a statistic counter to indicate the purged received packet counts upon fifo overflow. 16 rxps 0,ro/c receive missed counter overflow this bit is set when the receive missed frame counter (rxci) has an overflow condition. 15:7 reserved 0,ro reserved 6:0 rxci 0,ro/c receive missed frame counter this is a statistic counter to indicate the receive missed frame count when there is a host buffer unavailable condition for receive process. 6.2.10 management access register (cr9) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 87 6 5 4 3 2 1 0
preliminary datasheet 29 version: DM9102D-ds-p02 jan. 14, 2005 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 54 3 2 1 0 bit name default description 31 mdix 0,ro status of disable auto-mdix function 30 mfun 0,ro multi-function strap pin status 29 ledm 0,ro led mode strap pin status 28:27 reserved 0,ro reserved 26 fdx x,ro full-duplex status of internal phy. 25 lnk100 x,ro 100m link status of internal phy. 24 lnk10 x,ro 10m link status of internal phy 23 rstphy 0,rw phy reset write 1 to this bit will reset internal phy. 22 reserved 0,ro reserved 21 les 0,ro load eeprom status it is set to indicate the load of eeprom is in progress. 20 rlm 0,rw reload eeprom set to reload the content of eeprom. 19 mdin 0,ro mii management data_in this is a read-only bit to indicate the mdio input data, when bit 18 mrw is set. 18 mrw 0,rw mii management read/write mode selection this bit defines the read/write mode for phy mii management register access. 1 for read and 0 for write. 17 mdout 0,rw mii management data_out this bit is used to generate the output data signal for phy mii management register access. 16 mdclk 0,rw mii management clock this bit is used to generate the output clock signal for phy mii management register access. 15:12 reserved 1000,ro reserved. 11 ers 0,rw eeprom selected this bit is used to enable eeprom access. 10:8 reserved 011,rw reserved 7:4 reserved fh,ro reserved 3 crdout 0,rw data_out from eeprom this bit reflects the status of eedi pin when the eeprom access is enabled. 2 crdin 0,rw data_in to eeprom this bit maps to eedo pin when the eeprom access is enabled. 1 crclk 0,rw clock to eeprom this bit maps eeck pin when the eeprom access is enabled 0 crcs 0,rw chip_select to eeprom this bit maps to eecs pin when the eeprom access is enabled 6.2.11 phy status register (cr12)
30 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 bit name default description 31:9 reserved ffffffh, ro reserved 8:4 reserved 0,ro reserved 3:0 physt xxxx ,rw phy status bit 3:internal phy link status (the same as bit2 of phy register) bit 2:full-duplex bit 1:speed 100mbps link bit 0:speed 10mbps link
preliminary datasheet 31 version: DM9102D-ds-p02 jan. 14, 2005 6.2.12 sample frame access register (cr13) (reference to section 7.5 power management) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 register general definition bit8 ~ 3 r/w txfifo transmit fifo access port 32h r/w rxfifo receive fifo access port 35h r/w diagreset general reset for diagnostic pointer port 38h w 6.2.13 sample frame data register (cr14) (reference to section 7.5 power management) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 6.2.14 watchdog and jabber timer register (cr15) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 0 bit name default description 31 txsumc 0,wo in transmit, generate ip/tcp/udp chksum depend-on tx desc. control 30 ipsum 0,wo in transmit, generate ip chksum to all packets 29 tcpsum 0,wo in transmit, generate tcp chksum to all packets 28 udpsum 0,wo in transmit, generate udp chksum to all packets 27 rxsum 0,wo in receiving, report ip/tcp/udp checksum status to rdes0 26:15 reserved 0,ro reserved 14 txp0 0,rw transmit pause packet set to transmit pause packet with pause timer = 0000h, this bit will be cleared if the pause packet had transmitted. 13 txpf 0,rw transmit pause packet set to transmit pause packet with pause timer = ffffh, this bit will be cleared if the pause packet had transmitted. 12:11 reserved 0,ro reserved 10 flce 0,rw flow control enable set to enable the decode of the pause packet. 9 rxps 0,r/c the latched status of the decode of the pause packet. 8 reserved 0,ro reserved. 7 rxpcs 0,ro it is set to indicate that the current pause timer of pause packet is not down count to zero yet. 6 vlan 0,rw vlan leng th capability enable it is set to enable the vlan length mode and will not report the frame_too_long bit status to rdes0 if receive packet size under 1526-byte.
32 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 5 reserved 0,ro reserved 4 twde 0,rw watchdog timer disable when set, the watchdog timer is disabled. otherwise it is enabled. 3:1 reserved 0,ro reserved 0 tje 0,rw transmit jabber disable when set, the transmit jabber is disabled. otherwise it is enabled. 6.3 phy management register set offset register name description default value after reset 0 bmcr basic mode control register 3100h 1 bmsr basic mode status register 7849h 2 phyidr1 phy identifier register #1 0181h 3 phyidr2 phy identifier register #2 b8a0h 4 anar auto-negotiation advertisement register 01e1h 5 anlpar auto-negotiation link partner ability register 0000h 6 aner auto-negotiation expansion register 0000h 7-15 reserved reserved 0000h 10h dscr davicom specified configuration register 0414h 11h dscsr davicom specified configuration/status register f210h 12h 10btcsr 10base-t configuration/status register 7800h 13h pwdor power down control register 0000h 14h mdix aoto-mdi/mdix control register 0000h others reserved reserved for future use, do not read/write to these registers 0000h key to default in the register description that follows, the default column takes the form: , / where j : 1 bit set to logic one 0 bit set to logic zero x no default value (pin#) value latched in from pin # at reset : ro = read only rw = read/write rc = cleared after read : sc = self clearing p = value permanently set ll = latching low lh = latching high
preliminary datasheet 33 version: DM9102D-ds-p02 jan. 14, 2005 6.3.1 basic mode control register (bmcr) ? 0 bit name default description 15 reset 0, rw/sc reset: 1=software reset 0=normal operation this bit resets the status and controls the phy registers of the DM9102D to their default states. this bit, which is self-clearing, will keep its value until the reset process is completed 14 loopback 0, rw loopback: 1=loop-back enabled 0=normal operation when in 100mbps operation mode, setting this bit may cause the descrambler to lose synchronization and produce a 720ms "dead time" before any valid data to the mac. 13 speed selection 1, rw speed select: 1=100mbps 0=10mbps link speed may be selected either by this bit or by auto-negotiation. when auto-negotiation is enabled and bit 12 is set, this bit will reflect auto- negotiation selected media type. 12 auto-negotiation enable 1, rw auto-negotiation enable: 1= auto-negotiation enabled: bit 8 and 13 will report auto-negotiation status 0= auto-negotiation disabled: bit 8 and 13 will determine the link speed and duplex mode 11 power down 0, rw power down: setting this bit will power down the internal phy except crystal / oscillator circuit. 1=power down 0=normal operation 10 reserved 0,ro reserved. write as 0, ignore on read. 9 restart auto-negotiation 0,rw/sc restart auto-negotiation: 1= restart auto-negotiation. re-initiates the auto-negotiation process. when auto-negotiation is disabled (bit 12 of this register cleared), this bit has no function and it should be cleared. this bit is self-clearing and it will keep its value until auto-negotiation is initiated by the DM9102D. the operation of the auto-negotiation process will not be affected by the management entity that clears this bit. 0= normal operation 8 duplex mode 1,rw duplex mode: 1= full duplex operation. duplex selection is allowed when auto-negotiation is disabled (bit 12 of this register is cleared). with auto-negotiation enabled, this bit reflects the duplex capability selected by auto-negotiation. 0= normal operation 7 collision test 0,rw collision test: 1= collision test enabled. when set in half duplex mode, the DM9102D will enter collision state if packet transmission is in progress. 0= normal operation 6:0 reserved <0000000>, ro reserved. write as 0, ignore on read 6.3.2 basic mode status register (bmsr) ? 1
34 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 bit name default description 15 100base-t4 0,ro/p 100base-t4 capable: 1=DM9102D is able to perform in 100base-t4 mode. 0=DM9102D is not able to perform in 100base-t4 mode. 14 100base-tx full duplex 1,ro/p 100base-tx full duplex capable: 1= DM9102D is able to perform 100base-tx in full duplex mode. 0= DM9102D is not able to perform 100base-tx in full duplex mode. 13 100base-tx half duplex 1,ro/p 100base-tx half duplex capable: 1=DM9102D is able to perform 100base-tx in half duplex mode. 0=DM9102D is not able to perform 100base-tx in half duplex mode. 12 10base-t full duplex 1,ro/p 10base-t full duplex capable: 1=DM9102D is able to perform 10base-t in full duplex mode. 0=DM9102D is not able to perform 10base-t in full duplex mode. 11 10base-t half duplex 1,ro/p 10base-t half duplex capable: 1=DM9102D is able to perform 10base-t in half duplex mode. 0=DM9102D is not able to perform 10base-t in half duplex mode . 10:7 reserved 0000,ro reserved: write as 0, ignore on read 6 mf preamble suppression 1,rw mii frame preamble suppression: 1=phy will accept management frames with preamble suppressed. 0=phy will not accept management frames with preamble suppressed. 5 auto-negotiation complete 0,ro auto-negotiation complete: 1=auto-negotiation process is completed. 0=auto-negotiation process is not completed. 4 remote fault 0,rc/lh remote fault: 1= remote fault condition detected (cleared on read or by a chip reset). fault criteria and detection method is DM9102D specific implementation. this bit will set after the rf bit in the anlpar (bit 13, register address 05) is set 0= no remote fault condition detected 3 auto-negotiation ability 1,ro/p auto configuration ability: 1=DM9102D is able to perform auto-negotiation 0=DM9102D is not able to perform auto-negotiation 2 link status 0,rc/ll link status: 1=valid link established (for either 10mbps or 100mbps operation) 0=link not established the link status bit is implemented with a latching function, so that the occurrence of a link failure condition causes the link status bit to be cleared and remain cleared until it is read via the management interface 1 jabber detect 0,rc/lh jabber detect: 1=jabber condition detected 0=no jabber this bit is implemented with a latching function. jabber conditions will set this bit unless it is cleared by a read to this register through a management interface or a DM9102D reset. this bit works only in 10mbps mode 0 extended capability 1,ro/p extended capability: 1=extended register capability 0=basic register capability only 6.3.3 phy identifier register #1 (phyidr1) ? 2
preliminary datasheet 35 version: DM9102D-ds-p02 jan. 14, 2005 the phy identifier register#1 and register#2 work together in a single identifier of the DM9102D. the identifier consists of a concatenation of the organizationally unique identifier (oui ), a vendor's model number, and a model revision number. davicom semiconductor's ieee assigned oui is 00606e. bit name default description 15:.0 oui_msb <0181h>, ro/p oui most significant bits: this register stores bit 3 to 18 of the oui (00606e) to bit 15 to 0 of this register respectively. the most significant two bits of the oui are ignored (the ieee standard refers to these as bit 1 and 2) 6.3.4 phy identifier register #2 (phyidr2) - 3 bit name default description 15:10 oui_lsb <101110>, ro/p oui least significant bits: bit 19 to 24 of the oui (00606e) are mapped to bit 15 to 10 of this register respectively 9:.4 vndr_mdl <001010>, ro/p vendor model number: six bits of vendor model number mapped to bit 9 to 4 (most significant bit to bit 9) 3:0 mdl_rev <0000>, ro/p model revision number: four bits of vendor model revision number mapped to bit 3 to 0 (most significant bit to bit 3) 6.3.5 auto-negotiation advertisement register (anar) ? 4 this register contains the advertised abilities of this DM9102D device as they will be transmitted to its link partner during auto-negotiation. bit name default description 15 np 0,ro/p next page indication: 0=no next page available 1=next page available the DM9102D has no next page, so this bit is permanently set to 0 14 ack 0,ro acknowledge: 1=link partner ability data reception acknowledged 0=not acknowledged the DM9102D's auto-negotiation state machine will automatically control this bit in the outgoing flp bursts and set it at the appropriate time during the auto-negotiation process. software should not attempt to write to this bit. 13 rf 0, rw remote fault: 1=local device senses a fault condition 0=no fault detected 12:11 reserved 00, rw reserved: write as 0, ignore on read 10 fcs 0, rw flow control support: 1=controller chip supports flow control ability. 0=controller chip doesn?t support flow control ability. 9 t4 0, rw 100base-t4 support: 1=100base-t4 is supported by the local device. 0=100base-t4 is not supported. the DM9102D does not support 100base-t4 so this bit is 0 permanently 8 tx_fdx 1, rw 100base-tx full duplex support: 1=100base-tx full duplex is supported by the local device. 0=100base-tx full duplex is not supported.
36 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 7 tx_hdx 1, rw 100base-tx support: 1=100base-tx is supported by the local device. 0=100base-tx is not supported. 6 10_fdx 1, rw 10base-t full duplex support: 1=10base-t full duplex is supported by the local device. 0=10base-t full duplex is not supported. 5 10_hdx 1, rw 10base-t support: 1=10base-t is supported by the local device. 0=10base-t is not supported. 4:.0 selector <00001>, rw protocol selection bits: these bits contain the binary encoded protocol selector supported by this node. <00001> indicates that this device supports ieee 802.3 csma/cd. 6.3.6 auto-negotiation link partner ability register (anlpar) ? 5 this register contains the advertised abilities of the link partner when received during auto-negotiation. bit name default description 15 np 0, ro next page indication: 1= link partner, next page available 0= link partner, no next page available 14 ack 0, ro acknowledge: 1=link partner ability data reception acknowledged 0=not acknowledged the DM9102D's auto-negotiation state machine will automatically control this bit from the incoming flp bursts. software should not attempt to write to this bit. 13 rf 0, ro remote fault: 1=remote fault is indicated by link partner. 0=no remote fault is indicated by link partner. 12:10 reserved 000, ro reserved: write as 0, ignore on read 9 t4 0, ro 100base-t4 support: 1=100base-t4 is supported by the link partner. 0=100base-t4 is not supported by the link partner. 8 tx_fdx 0, ro 100base-tx full duplex support: 1=100base-tx full duplex is supported by the link partner. 0=100base-tx full duplex is not supported by the link partner. 7 tx_hdx 0, ro 100base-tx support: 1=100base-tx half duplex is supported by the link partner. 0=100base-tx half duplex is not supported by the link partner. 6 10_fdx 0, ro 10base-t full duplex support: 1=10base-t full duplex is supported by the link partner. 0=10base-t full duplex is not supported by the link partner. 5 10_hdx 0, ro 10base-t support: 1=10base-t half duplex is supported by the link partner. 0=10base-t half duplex is not supported by the link partner. 4:0 selector <00000>, ro protocol selection bits: link partner?s binary encoded protocol selector 6.3.7 auto-negotiation expansion register (aner) ? 6 bit name default description 15:5 reserved 0, ro reserved:
preliminary datasheet 37 version: DM9102D-ds-p02 jan. 14, 2005 write as 0, ignore on read 4 pdf 0, ro/lh local device parallel detection fault: pdf=1: a fault detected via parallel detection function. pdf=0: no fault detected via parallel detection function 3 lp_np_able 0, ro link partner next page able: lp_np_able=1: link partner, next page available lp_np_able=0: link partner, no next page 2 np_able 0,ro/p local device next page able: np_able=1: DM9102D, next page available np_able=0: DM9102D, no next page DM9102D does not support this function, so this bit is always 0. 1 page_rx 0, rc/lh new page received: a new link of code-word page received. this bit will be automatically cleared when the register (register 6) is read by management. 0 lp_an_able 0, ro link partner auto-negotiation able: a ?1? in this bit indicates that the link partner supports auto-negotiation. 6.3.8 davicom specified configuration register (dscr) ? 10h bit name default description 15 bp_4b5b 0,rw bypass 4b5b encoding and 5b4b decoding 1 = 4b5b encoder and 5b4b decoder function bypassed 0 = normal 4b5b and 5b4b operation 14 bp_scr 0, rw bypass scrambler/descrambler function 1 = scrambler and descrambler function bypassed 0 = normal scrambler and descrambler operation 13 bp_align 0, rw bypass symbol alignment function 1 = receive functions (descrambler, symbol alignment and symbol decoding functions) bypassed. transmit functions (symbol encoder and scrambler) bypassed 0 = normal operation 12:11 reserved 0, rw reserved 10 reserved 1, rw reserved 9:8 reserved 0, rw reserved 7 f_link_100 0, rw force good link in 100mbps: 1 = force 100mbps good link status 0 = normal 100mbps operation this bit is useful for diagnostic purposes. 6:5 reserved 00,rw reserved 4 rpdctr_en 1,rw reduced power down control mode: this bit is used to enable automatic reduced power down 1 = enable automatic reduced power down 0 = disable automatic reduced power down 3 smrst 0,rc reset state machine: when writes 1 to this bit, all state machines of phy will be reset. this bit is self-clear after reset is completed. 2 mfpsc 1,rw mf preamble suppression control: mii frame preamble suppression control bit 1 = mf preamble suppression bit on 0 = mf preamble suppression bit off
38 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 1 sleep 0,rw sleep mode: writing a 1 to this bit will cause phy entering the sleep mode and power down all circuit except oscillator and clock generator circuit. when waking up from sleep mode (write this bit to 0), the configuration will go back to the state before sleep; but the state machine will be reset. 0 rlout 0,rw remote loop out control: when this bit is set to 1, the received data will loop out to the transmit channel. this is useful for testing bit error rate. 6.3.9 davicom specified configuration and status register (dscsr) ? 11h bit name default description 15 100fdx 1, ro 100m full duplex operation mode: after auto-negotiation is completed, results will be written to this bit. if this bit is 1, it means the operation mode is a 100mbps full duplex mode. the software can read bit[15:12] to see which mode is selected after auto-negotiation. this bit is invalid when it is not in the auto-negotiation mode. 14 100hdx 1, ro 100m half duplex operation mode: after auto-negotiation is completed, results will be written to this bit. if this bit is 1, it means the operation mode is a 100mbps half duplex mode. the software can read bit[15:12] to see which mode is selected after auto-negotiation. this bit is invalid when it is not in the auto-negotiation mode. 13 10fdx 1, ro 10m full duplex operation mode: after auto-negotiation is completed, results will be written to this bit. if this bit is 1, it means the operation mode is a 10mbps full duplex mode. the software can read bit[15:12] to see which mode is selected after auto-negotiation. this bit is invalid when it is not in the auto-negotiation mode. 12 10hdx 1, ro 10m half duplex operation mode: after auto-negotiation is completed, results will be written to this bit. if this bit is 1, it means the operation mode is a 10mbps half duplex mode. the software can read bit[15:12] to see which mode is selected after auto-negotiation. this bit is invalid when it is not in the auto-negotiation mode. 11:10 reserved 00, ro reserved: 9 reserved 1, rw reserved: write as 0, ignore on read 8:4 phyad[4:0] 00001, rw phy address bit 4:0 3:0 anmb[3:0] 0000, ro auto-negotiation monitor bits: these bits are for debug only. the auto-negotiation status will be written to these bits.
preliminary datasheet 39 version: DM9102D-ds-p02 jan. 14, 2005 b3 b2 b1 b0 0000in idle state 0000 a bility match 0010 a ckno w ledge match 0011 a ckno w ledge match fail 0 1 0 0 consistency match 0 1 0 1 consistency match fail 0110parallel detects signal _ link _ ready 0111parallel detects signal _ link _ ready fail 1000 a uto-negotiation completed successfully 6.3.10 10base-t configuration/status (10btcsrcsr) ? 12h bit name default description 15 reserved 0, ro reserved: write as 0, ignore on read 14 lp_en 1, rw link pulse enable: 1=transmission of link pulses enabled 0=link pulses disabled, good link condition forced this bit is valid only in 10mbps operation. 13 hbe 1,rw heartbeat enable: 1=heartbeat function enabled 0=heartbeat function disabled when the DM9102D is configured for full duplex operation, this bit will be ignored (the collision/heartbeat function is invalid in full duplex mode). it must set to be 1. 12 squelch 1, rw squelch enable 1 = normal squelch 0 = low squelch 11 jaben 1, rw jabber enable: enables or disables the jabber function when the DM9102D is in 10base-t full duplex or 10base-t transceiver loopback mode 1= jabber function enabled 0= jabber function disabled 10 reserved 0,rw reserved 9:2 reserved 0, ro reserved 1 reserved 1,rw reserved 0 polr 0, ro polarity reversed when this bit is set to 1, it indicates that the 10mbps cable polarity is reversed.
40 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 6.3.11 power down control register (pwdor) ? 13h bit bit name default description 15:9 reserved 0, ro reserved read as 0, ignore on write 8 pd10drv 0, rw vendor powerdown control test 7 pd100dl 0, rw vendor powerdown control test 6 pdchip 0, rw vendor powerdown control test 5 pdcom 0, rw vendor powerdown control test 4 pdaeq 0, rw vendor powerdown control test 3 pddrv 0, rw vendor powerdown control test 2 pdedi 0, rw vendor powerdown control test 1 pdedo 0, rw vendor powerdown control test 0 pd10 0, rw vendor powerdown control test * when selected , the powerdown value is control by register 20.0 6.3.12 auot-mdi/mdix control register ? 14h bit bit name default description 15:13 reserved 0,rw reserved 11:8 reserved 0, ro reserved read as 0, ignore on write 7 mdix_cntl mdi/mdix,ro the polarity of mdi/mdix value 1: mdix mode 0: mdi mode 6 autoneg_dpbk 0,rw auto-negotiation loopback 1: test internal digital auto-negotiation loopback 0: normal. 5 mdix_fix value 0, rw mdix_cntl force value: when mdix_down = 1, mdix_cntl value depend on the register value. 4 mdix_do wn 0,rw mdix down manual force mdi/mdix. 0: enable auto mdi/mdix 1: disable auto mdi/mdix, mdix_cntl value depend on bit 5. 3:1 reserved 0,rw reserved 0 pd_value 0,rw powerdown control value decide the value of each field register 13h. 1: powerdown 0: normal
preliminary datasheet 41 version: DM9102D-ds-p02 jan. 14, 2005 7. functional description 7.1 system buffer management 7.1.1 overview the data buffers for reception and the transmission of data reside in the host memory. they are addressd by the descriptor list that is also located in another region of the host memory. all actions for the buffer management are operated by the DM9102D in conjunction with the software driver. the data structures and processing algorithms are described in the following text. 7.1.2 data structure and descriptor list there are two types of buffers that reside in the host memory, the transmit buffer and the receive buffer. the buffers are composed of many distributed regions in the host memory. they are linked together and controlled by the descriptor lists that reside in another region of the host memory. the descriptor list is a chain structure. the content of each descriptor includes pointer to the buffer, size of the buffer, command and status for the packet to be transmitted or received. each descriptor list starts from the address setting of cr3 (receive descri ptor base address) and cr4 (transmit descriptor base address). refer to figure 7-1. 7.1.3 buffer management -- chain structure method as the chain structure depicted below, each descriptor contains two pointers, one point to a single buffer and the other to the next descriptor chained. the first descriptor is chained to the last descriptor under host driver?s control to form a looped chain. with this structure, a descriptor can be allocated anywhere in host memory and is chained to the next descriptor. buffer 1 buffer 1 descriptor 1 descriptor n packet n control buffer address 1 status own not valid next descriptor address buffer 1 length figure 7-1 7.1.4 descriptor list: buffer descriptor format (a). receive descriptor format each receive descriptor has four double word entries and may be read or written by the host or the DM9102D. the descriptor format is shown below with a detailed functional description.
42 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 31 0 own status control bits buffer address next descriptor address rdes 0 rdes 1 rdes 2 rdes 3 buffer length own receive descriptor format rdes0: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 own frame length ( fl ) aun bit 31: own, owner bit of received status 1=owned by dm9102, 0=owned by host this bit will be reset after packet reception is completed. the host will set this bit after received data is removed. bit 30: aun, received address unmatched. bit 29-16: fl, frame length frame length indicates total byte count of received packet. 151413121110 9 8 7 6 5 4 3 2 1 0 es rf ce mf due lbom bd ed tlf lcs ft rwt ple ae foe efl this word-wide content includes status of received frame. they are loaded after the received buffer that belongs to the corresponding descriptor is full. all status bits are valid only when the last descriptor (e nd descriptor) bit is set. bit 15: es, error summary it is set for the following error conditions: descriptor unavailable error (due =1), runt frame (rf=1), excessive frame length (efl=1), late collision seen (lcs=1), crc error (ce=1), fifo overflow error (foe=1). valid only when ed is set. bit 14: due, descriptor unavailable error it is set when the frame is truncated due to the buffer unavailable. it is valid only when ed is set. bit 13,12: lbom, loopback operation mode or ip/tcp/udp checksum status if cr15 bit 27 is set, these two bits present the ip/tcp/udp status: 0x -- ip checksum ok 1x --ip checksum fail x0 ? tcp or udp checksum ok x1 ? tcp or udp checksum fail ; otherwise these two bits show the received frame is derived from: 00 --- normal 01 --- internal loopback 10 --- internal phy digital loopback 11 --- internal phy analog loopback bit 11: rf, runt frame it is set to indicate the received frame has the size smaller than 64 bytes. it is valid only when ed is set and foe is reset. bit 10: mf, multicast frame it is set to indicate the received frame has a multicast address. it is valid only when ed is set. bit 9: bd, begin descriptor this bit is set for the descriptor indicating the start of a received frame. bit 8: ed, end descriptor this bit is set for descriptor to indicate the end of a received frame. bit 7: efl, excessive frame length it is set to indicate the received frame length exceeds 1518 bytes. valid only when ed is set.
preliminary datasheet 43 version: DM9102D-ds-p02 jan. 14, 2005 bit 6: lcs: late collision seen it is set to indicate a late collision found during the frame reception. valid only when ed is set. bit 5: ft, frame type or ip packet if cr15 bit 27 is set, this bit present the flag that this is ip packet; otherwise it is set to indicate the received frame is the ethernet-type. it is reset to indicate that the received frame is the eee802.3- type. valid only when ed is set bit 4: rwt, receive watchdog time-out or tcp packet if cr15 bit 27 is set, this bit present the flag that this is tcp packet; otherwise it is set to indicate the received watchdog time-out during the frame reception. cr5<9> will also be set. valid only when ed is set. bit 3: ple, physical layer error or udp packet if cr15 bit 27 is set, this bit present the flag that this is udp packet; otherwise it is set to indicate a physical layer error found during the frame reception. bit 2: ae, alignment error it is set to indicate the received frame ends with a non-byte boundary. bit 1: ce, crc error it is set to indicate the received frame ends with a crc error. valid only when ed is set. bit 0: foe, fifo overflow error this bit is valid only when end descriptor is set. (ed = 1). it is set to indicate a fifo overflow error happens during the frame reception. rdes1: descriptor status and buffer size 31 30 29 28 27 26 25 24 23 22 21 ~ 11 10 ~ 0 c e buffer length bit 24: must be 1. bit 10-0: buffer length indicates the size of the buffer. rdes2: buffer starting address indicates the physical starting address of buffer. this address must be double word aligned. 31 0 buffer address rdes3: next descriptor address indicates the physical starting address of the chained descriptor under the chain descriptor structure. this address must be eight-word aligned. 31 0 next descriptor address (b). transmit descriptor format each transmit descriptor has four double word content and may be read or written by the host or by the DM9102D. the descriptor format is shown below with detailed description
44 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 31 0 own status control bits buffer address next descriptor address tdes0 tdes1 tdes2 tdes3 buffer length own transmit descriptor format tdes0: owner bit with transmit status bit 31: own, 1=owned by DM9102D, 0=owned by host, this bit should be set when the transmitting buffer is filled with data and ready to be transmitted. it will be reset by DM9102D after transmitting the whole data buffer. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 es ec 0 cc tx jt loc nc lc 0 fue df this word wide content includes status of transmitted frame. they are loaded after the data buffer that belongs to the corresponding descriptor is transmitted. bit 15: es, error summary it is set for the following error conditions: transmit jabber time-out (txjt=1), loss of carrier (loc=1), no carrier (nc=1), late collision (lc=1), excessive collision (ec=1), fifo underrun error (fue=1). bit 14: txjt, transmit jabber time out it is set to indicate the transmitted frame is truncated due to transmit jabber time out condition. the transmit jabber time out interrupt cr5<3> is set. bit 11: loc, loss of carrier it is set to indicate the loss of carrier during the frame transmission. it is not valid in internal loopback mode. bit 10: nc, no carrier it is set to indicate that no carrier signal from transceiver is found. it is not valid in internal loopback mode. bit 9: lc, late collision it is set to indicate a collision occurs after the collision window of 64 bytes. not valid if fue is set. bit 8: ec, excessive collision it is set to indicate that the transmission is aborted due to 16 excessive collisions. bit 7: reserved this bit is 0 when read. bits 6-3: cc, collision count these bits show the number of collision before transmission. not valid if excessive collision bit is also set. bit 2: reserved this bit is 0 when read. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 own
preliminary datasheet 45 version: DM9102D-ds-p02 jan. 14, 2005 bit 1: fue, fifo underrun error it is set to indicate that the transmission aborted due to transmit fifo underrun condition. bit 0: df, deferred it is set to indicate that the frame is deferred before ready to transmit. tdes1: transmit buffer control and buffer size 31 30 29 28 27 26 25 24 23 22 21 ~ 11 10 ~ 0 ci ed bd fmb1 setf cad /// ce pd fmb0 buffer length bit 31: ci, completion interrupt it is set to enable transmit interrupt after the present frame has been transmitted. it is valid only when tdes1<30> is set or when it is a setup frame. bit 30: ed, ending descriptor it is set to indicate the pointed buffer contains the last segment of a frame. bit 29: bd, begin descriptor it is set to indicate the pointed buffer contains the first segment of a frame. bit 28: fmb1, filtering mode bit 1 this bit is used with fmb0 to indicate the filtering type when the present frame is a setup frame. bit 27: setf, setup frame it is set to indicate the current frame is a setup frame. bit 26: cad, crc append disable it is set to disable the crc appending at the end of the transmitted frame. valid only when tdes1<29> is set. bit 24: ce, chain enable must be ?1?. bit 23: pd, padding disable this bit is set to disable the padding field for a packet shorter than 64 bytes. bit 22: fmb0, filtering mode bit 0 this bit is used with fmb1 to indicate the filtering type when the present frame is a setup frame. fmb1 fmb0 filtering type 0 0 perfect filtering 0 1 hash filtering 1 0 inverse filtering 1 1 hash-only filtering. bit 21: ip packet checksum generation this bit is set to enable the ip packet checksum generation, if per-packet checksum in cr15 bit 31 is enabled bit 20: tcp packet checksum generation this bit is set to enable the tcp packet checksum generation, if per-packet checksum in cr15 bit 31 is enabled. bit 19: udp packet checksum generation this bit is set to enable the udp packet checksum generation, if per-packet checksum in cr15 bit 31 is enabled. bit 10-0: buffer 1 length indicates the size of buffer in chain type structure. tdes2: buffer starting address indicates the physical starting address of buffer. 31 0 buffer address 1 tdes3: address indicates the next descriptor starting address indicates the physical starting address of the chained descriptor under the chain descriptor structure. this address must be eight-word alignment.
46 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 31 0 buffer address 2
preliminary datasheet 47 version: DM9102D-ds-p02 jan. 14, 2005 7.2 initialization procedure after hardware or software reset, transmit and receive processes are placed in the state of stop. the DM9102D can accept the host commands to start operation. the general procedure for initialization is described below: (1) read/write suitable values for the pci configuration registers. (2) write cr3 and cr4 to provide the starting address of each descriptor list. (3) write cr0 to set global host bus operation parameters. (4) write cr7 to mask causes of unnecessary interrupt. (5) write cr6 to set global parameters and start both receive and transmit processes. receive and transmit processes will enter the running state and attempt to acquire descriptors from the respective descriptor lists. (6) wait for any interrupt. 7.2.1 data buffer processing algorithm the data buffer process algorithm is based on the cooperation of the host and the DM9102D. the host sets cr3 (receive descriptor base address) and cr4 (transmit descriptor base address) for the descriptor list initialization. the DM9102D will start the data buffer transfer after the descriptor polling and get the ownership. for detailed processing procedure, please see below. 7.2.2 receive data buffer processing refer to figure 7-2. the DM9102D always attempts to acquire an extra descriptor in anticipation of the incoming frames. any incoming frame size covers a few buffer regions and descriptors. the following conditions satisfy the descriptor acquisition attempt: when start/stop receive sets immediately after being placed in the running state. when the DM9102D begins writing frame data to a data buffer pointed to by the current descriptor and the buffer ends before the frame ends. when the DM9102D completes the reception of a frame and the current receiving descriptor is closed. when receive process is suspended due to no free buffer for the DM9102D and a new frame is received. when receive polling demand is issued. after acquiring the free descriptor, the DM9102D processes the incoming frame and places it in the acquired descriptor's data buffer. when the whole received frame data has been transferred, the DM9102D will write the status information to the last descriptor. the same process will repeat until it encounters a descriptor flagged as being owned by the host. if this occurs, receive process enters the suspended state and waits the host to service receive buffer management state transition figure 7-2 fifo threshold sto p state descri p tor access data transfer write status sus p ended start receive command or receive poll command buffer available ( own bit = 1 ) reached frame fully received buffer not receive buffer unavailabl new frame comin g or receive poll command stop receive command or reset command buffer full
48 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 7.2.3 transmit data buffer processing refer to figure 7-3. when start/stop transmit command is set and the DM9102D is in running state, transmit process polls transmit descriptor list for frames requiring transmission. when it completes a frame transmission, the status related to the transmitted frame will be written into the transmit descriptor. if the DM9102D detects a descriptor flagged as owned by the host and no transmit buffers are available, transmit process will be suspended. while in the running state, transmit process can simultaneously acquire two frames. as transmit process completes copying the first frame, it immediately polls transmit descriptor list for the second frame. if the second frame is valid, transmit process copies the frame before writing the status information of the first frame. both conditions will make transmit process suspend. (i) the DM9102D detects a descriptor owned by the host. (ii) a frame transmission is aborted when a locally induced error is detected. under either condition, the host driver has to service the condition before the DM9102D can resume. transmit buffer management state transition figure 7-3 stop state descriptor access data transfer write status suspended buffer available ( own bit = 1 ) frame fully transmited start transmit command or transmit poll command under fifo threshold buffer not empty buffer empty transmit buffer unavailable ( owned by host ) transmit poll stop transmit command or reset command
preliminary datasheet 49 version: DM9102D-ds-p02 jan. 14, 2005 7.3 network function 7.3.1 overview this chapter will introduce the normal state machine operation and mac layer management like collision back-off algorithm. in transmit mode, the DM9102D initiates a dma cycle to access data from a transmit buffer. it prefaces the data with the preamble, the sfd pattern, and it appends a 32-bit crc. in receive mode, the data is de-serialized by receive mechanism and is fed into the internal fifo. for detailed process, please see below. 7.3.2 receive process and state machine a. reception initiation as a preamble being detected on receive data lines, the DM9102D synchronizes itself to the data stream during the preamble and waits for the sfd. the synchronization process is based on byte boundary and the sfd byte is 10101011. if the DM9102D receives a 00 or a 11 after the first 8 preamble bits and before receiving the sfd, the reception process will be terminated. b. address recognition after initial synchronization, the DM9102D will recognize the 6-byte destination address field. the first bit of the destination address signifies whether it is a physical address (=0) or a multicast address (=1). the DM9102D filters the frame based on the node address of receive address filter setting. if the frame passes the filter, the subsequent serial data will be delivered into the host memory. c. frame decapsulation the DM9102D checks the crc bytes of all received frames before releasing the frame along with the crc to the host processor. 7.3.3 transmit process and state machine a. transmission initiation once the host processor prepares a transmit descriptor for the transmit buffer, the host processor signals the DM9102D to take it. after the DM9102D has been notified of this transmit list, the DM9102D will start to move the data bytes from the host memory to the internal transmit fifo. when the transmit fifo is adequately filled to the programmed threshold level, or when there is a full frame buffered into the transmit fifo, the DM9102D begins to encapsulate the frame. the transmit encapsulation is performed by the transmit state machine, which delays the actual transmission onto the network until the network has been idle for a minimum inter frame gap time. b. frame encapsulation the transmit data frame encapsulation stream consists of two parts: basic frame beginning and basic frame end. the former contains 56 preamble bits and sfd, the later, fcs. the basic frame read from the host memory includes the destination address, the source address, the type/length field, and the data field. if the data field is less than 46 bytes, the DM9102D will pad the frame with pattern up to 46 bytes. c. collision when concurrent transmissions from two or more nodes occur (termed; collision), the DM9102D halts the transmission of data bytes and begins a jam pattern consisting of aaaaaaaa. at the end of the jam transmission, it begins the backoff wait time. if the collision was detected during the preamble transmission, the jam pattern is transmitted after completing the preamble. the backoff process is called truncated binary exponential backoff. the delay is a random integer multiple of slot times. the number of slot times of delay before the n th retransmission attempt is chosen as a uniformly distributed random integer in the range: 0 r < 2 k k = min ( n, n ) and n=10 7.3.4 physical layer overview the DM9102D supports 100mbps and 10mbps operation. it provides a direct interface either to unshielded twisted pair cable utp5 for 100base-tx fast ethernet, or utp5/utp3 cable for 10base-t ethernet. in physical level operation, it consists of the following functions: ? pcs: 4b5b encode/decode, scramble/de-scramble, and data serialize/parallelize ? nrz/nrzi, mlt-3 encoder/decoder and driver ? manchester encoder/decoder ? 10base-t filter, driver/receiver, and manchester encoder/decoder ? auto. mdi/mdix detection
50 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 7.4 serial management interface the serial management interface is used to obtain and control the status of phy management register set through the internal mdc and mdio signals, which is control by cr9 bits 19:16. the management data clock (mdc) is equipped with a maximum clock rate of 2.5mhz. in read/write operation, the management data frame is 64-bit long start with 32 contiguous logic one bits (preamble) synchronization clock cycles on mdc. the start of frame delimiter (sfd) is indicated by a <01> pattern followed by the operation code (op):<10> indicates read operation and <01> indicates write operation. following the op code is the 5-bit phy address field that is fixed to 00001b. for read operation, a 2-bit turnaround (ta) filing between register address field and data field is provided for mdio to avoid contention. ?z? stands for the state of high impedance. following turnaround time, a 16-bit data is read from or written onto management registers. 7.4.1 management interface - read frame structure 32 "1"s 0 1 1 0 a4 a3 a0 r4 r3 r0 z 0 idle preamble sfd op code phy address register address turn around data idle read write mdc mdio read d15 d14 d1 d0 // // 7.4.2 management interface - write frame structure 32 "1"s 0 1 1 0 a4 a3 a0 r4 r3 r0 1 0 d15 d14 d1 d0 idle preamble sfd op code phy address register address turn around data idle write mdc mdio write
preliminary datasheet 51 version: DM9102D-ds-p02 jan. 14, 2005 7.5 power management 7.5.1 overview the DM9102D supports power management mechanism. it complies with the acpi specification rev 1.0, the network device class power management specification rev 1.0, and the pci bus power management interface specification rev 1.0. in addition, it also supports the wake-on lan (wol) which is the feature of the amd?s magic packet? technology. with this function, it can wakeup a remote sleeping station. 7.5.2 pci function power management states the DM9102D supports pci function power states d0, d3(hot), d3(cold), and does not support d1, d2 states. in addition, pci signals pme# (power management event, open drain) to pin a19 of the standard pci connector. d0: normal & fully functional state d3 (hot): for controller, configuration space, that can be accessed and wake up on lan circuit, can be enabled. pme# operational circuit is active, full function is supported to detect the wake up frame & link status. because of functions in d3(hot) must respond to configuration space accesses as long as power and clock are supplied so that they can be returned to d0 state by software. d3 (cold): if vcc is removed from a pci device, all of its pci functions transition immediately to d3(cold), no bus transaction is active without pci_clk condition and wake up on lan operation should be alive. pme# operational circuit is active. full function is supported under auxiliary power to detect the magic packet & link status. when power restored, pci rst# must be asserted and functions will return to d0 with a full pci spec. 2.2 compliant power-on reset sequence. the power required in d3(cold) must be provided by some auxiliary power source. 7.5.3 the power management operation it complies with the pci bus power management interface specification rev. 1.0. the power management event (pme#) signal is an optional open drain, active low signal that is intended to be driven low by a pci function to request a change in its current power management state and/or to indicate that a power management event has occurred. the pme# signal has been assigned to pin a19 of the standard pci connector configuration. the assertion and de-assertion of pme# is asynchronous to the pci clock. software will enable its use by setting the pme_en bit in the pmcsr (write 1 to pmcsr<8>). when a pci function generates or detects an event that requires the system to change its power state, the function will assert pme#. it must continue to assert pme# until software either clears the pme_en bit (pmcsr<8> is set to 0) or clears the pme_status bit in the pmcsr (write 1 to pmcsr<15>). DM9102D supports three main categories of network device wake up events specified in network device class power management rev1.0. that is, the DM9102D can monitor the network for a link change, magic packet or a wake-up frame and notify the system by generating pme# if any of the three events occurs. programming the pciusr (offset = 40h) can select the pme# event, and writing 1 to pmcsr<15> will clear the pme#. a. detect network link state change any link status change will set the wake up event. 1. writes 1 into pmcsr<15>(54h) to clear previous pme# status 2. writes 1 into pmcsr<8> to enable pme# function 3. writes 1 into pciusr<29> to enable the link status change function b. active magic packet function it can be enabled by pciusr<27> or optionally enabled by eeprom setting. the magic node address stored at node address table can use setup frame perfect address filtering mode or loading from eeprom word 10~12 after power on . 1. writes 1 into pmcsr<15> to clear previous pme status 2. writes 1 into pmcsr<8> to enable pme# function 3. writes 1 into pciusr<27> to enable magic packet function. c. active the sample frame function it can be enabled by pciusr<28>. sample frame data and corresponding byte mask are loaded into transmit fifo & receive fifo before entering d3(hot). the software driver has to stop the tx/rx process before setting the sample frame and byte mask into the fifo. transmit & receive fifo can be accessed from cr13 & cr14 by programming cr6<28:25> = 0011.
52 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 the operational sequence from d0 to d3 should be: stop tx/rx process ? wait for entering stop state ? set test mode, cr6<28:25> = 0011 ? programming fifo contents ? exit test mode ? enter d3 (hot) state the sample frame data comparison is completed when the received frame data has exceeded the programmed frame length or when the whole packet has been fully received. the operation procedure is shown below. cr13: sample frame access register name general definition bit8:3 type txfifo transmit fifo access port 32h r/w rxfifo receive fifo access port 35h rw diagreset general reset for diagnostic pointer port 38h rw in diagreset port there are 7 bits: bit 0: clear tx fifo write_ address to 0 bit 1: clear tx fifo read_ address to 0 bit 2: clear rx fifo write_ address to 0 bit 3: clear rx fifo read_ address to 0 bit 4: reserved bit 5: set tx fifo write_ address to 080h bit 6: set rx fifo write_ address to 080h
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 53 7.6 sample frame programming guide: 1. enter the sample frame access mode: set cr6<28:25>=0011 2.reset the tx/rx fifo, write pointer to offset 0: write 38h to cr13<8:3> write 01h to cr14 (reset) write 00h to cr14 (clear) 3. write the sample frame 0-3 data to rx fifo: write 35h to cr13<8:3> write xxxxxxxxh to cr14 (frame1~3 first byte) write xxxxxxxxh to cr14 (frame1~3 second byte) : : repeat write until all frame data written to rx fifo 4. reset rx fifo, write pointer to offset 080h: write 38h to cr13<8:3> write 40h to cr14 (reset) write 00h to cr14 (clear) 5. write the sample frame 4-7 to rx fifo: write 35h to cr13<8:3> write xxxxxxxxh to cr14 (frame4~7 first byte) write xxxxxxxxh to cr14 (frame4~7 second byte) : : repeat write until all frame data written to rx fifo 6. write the sample frame 0-3 mask to tx fifo: write 32h to cr13<8:3> write xxxxxxxxh to cr14 (frame0~3 first mask byte) write xxxxxxxxh to cr14 (frame0~3 second mask byte) : : repeat write until all frame mask which is written to tx fifo 7. reset tx fifo, write pointer to offset 080h: write 38h to cr13<8:3> write 20h to cr14 (reset) write 00h to cr14 (clear) 8. write the sample frame 4-7 mask to tx fifo: write 32h to cr13<8:3> write xxxxxxxxh to cr14 (frame4~7 first mask byte) write xxxxxxxxh to cr14 (frame4~7 second mask byte) : : repeat write until all frame mask is written to tx fifo
54 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 7.7 eeprom overview the first 13 words of configuration eeprom are loaded into the DM9102D after power-on-reset for the settings of the power management, system id and ethernet address. the format of the eeprom is as followed the format of eeprom 7.7.1 subsystem id block every card has a subsystem id to indicate the information of system vendor. the content will be transferred into the pci configuration space 2ch. 7.7.2vendor id vendor id & device id can be set in eeprom content & auto-loaded to pci configuration register after reset.(default value = 1282h, 9102h) this function must be selectable for enable by auto_ load_ control (word offset 04 bit[3:0] of eeprom). 7.7.3 word offset (04): auto_ load_ control 0 3 4 7 bit3~0: ?1010? to enable auto-load of pci vendor_ id & device_ id. bit7~4: ?1x1x? to enable auto-load of nce, pme & pmc & pmcsr to pci configuration space. bit 4 and 6 are used to control the polarity and pulse mode of the wol pin. if bit4 = 0, wol is active high. if bit4=1, wol is active low if bit6 = 0, wol is pulse signal if bit6=1, wol is level signal. 7.7.4 word offset (04): new_ capabilities_ enable bit0: directly mapping to bit20 (new capabilities) of the pcics if bit9=1, bit [12:10] mapping to bit [18:16] of the pcipmr and bit [15:13] mapping to bit [24:22] of the pcipmr. 7.7.5 word offset (07): pmc 0 7 32 bit7~3: directly mapping to bit[31:27] of the pcipmr. bit2~0: directly mapping to bit[21,26:25] of the pcipmr. 7.7.6 word offset (07): control bit 15: disable phy auto-mdix function bit 14: disable to power-down phy if isolate pin is low. bit 13: clear pmcsr[1:0] if rst# pin is low bit 12: pme# is not pulse mode bit 11: set to disable the output of wol pin. bit 10: set to disable the output of pme# pin. bit 9: set to enable the link change wake up event. bit 8: set to enable the magic packet wake up event. field name word offset word size subsystem vendor id 0 1 subsystem id 1 1 reserved 2 2 nce and auto_ load_ control 4 1 pci vendor id 5 1 pci device id 6 1 pmcsr and pmc 7 1 reserved 8 2 ethernet address 10 3
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 55 7.7.7 word offset (10~12): ethernet address address 0 = eeprom word 10 low byte address 1 = eeprom word 10 high byte address 2 = eeprom word 11 low byte address 3 = eeprom word 11 high byte address 4 = eeprom word 12 low byte address 5 = eeprom word 12 high byte 7.7.8 example of DM9102D eeprom format total size: 128 bytes field name offset (byte) size (bytes) value (hex) commentary sub-vendor id 0 2 1282h id block sub-device id 2 2 9102h reserved1 4 4 00000000 auto_load_control 8 1 00 auto-load function definition: bit 3~0 = 1010 ? auto-load pci vendor id/device id enabled bit 7~4 = 1x1x ? auto-load nce, pmc/pmcsr enabled new_capabilities_enable (nce) 9 1 00 please refer to DM9102D spec. pci vendor id 10 2 1282h pci device id 12 2 9102h if auto-load pci vendor id/device id function disabled, the pci vendor id/device id will use the default values (1282h, 9102h). power management capabilities (pmc) 14 1 00 please refer to DM9102D spec. power management control/status (pmcsr) 15 1 00 please refer to DM9102D spec. reserved2 16 4 00 ieee network address 20 6 - controller info header driver area 26 102 - for software driver
56 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 7.8 external mii interface DM9102D provides one external mii interface sharing with all the pins with boot rom interface. this external mii interface can be connected with external phyceiver such as home networking phyceiver or other future technology applications. this external mii interface can be set up by hardware and software. the setup methods are listed as below: test 1 (pin 37) test 2 (pin 71) clkrun# (pin 36) eeck (pin 79) eedo (pin 78) normal operation 0 1 x x x external mii mode 0 0 0 0 1/0 note 1 internal test mode 1 x x x x note 1: external mii mode eedo = 1(pulled high): only external phy is selected. eedo= 0(floating) & mii_ mode = 1: select external phy eedo = 0(float) & mii_ mode = 0: select internal phy where mii_ mode is the bit 18 of cr6 7.8.1 the sharing pin table (o): output, (i): input, (b): bi-direction normal operation external mii interface boot rom interface external mii interface test2=1 test2= 0 pin 62 md0/eedi mii_mdio/eedi(b) 63 md1 mii_rxd2 (i) 64 md2 mii_rxd1 (i) 65 md3 mii_rxd0 (i) 66 md4 mii_rxdv (i) 67 md5 mii_rxer (i) 68 md6 mii_crs (i) 69 md7 mii_rxclk (i) 75 idsel2 mii_col(i) 78 eedo mii_txd0/eedo(o) 79 eeck mii_txd1/eeck (o) 83 led_mode mii_txen(o) 84 req2# mii_txclk (i) 87 trf_led mii_txd2(o) 88 fdx_led mii_txd3(o) 89 spd100_led mii_mdc(o) 90 spd10_led mii_rxd3(i)
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 57 8. dc and ac electrical characteristics 8.1 absolute maximum ratings ( 25 c ) symbol parameter min. max. unit conditions d vdd, avdd supply voltage -0.3 3.6 v d vdd25 ,a vdd25 supply voltage -0.3 2.7 v v in dc input voltage (vin) -0.5 5.5 v v out dc output voltage (vout) -0.3 3.6 v tc case temperature range 0 85 c tstg storage temperature rang (tstg) -65 150 c lt lead temp. (tl, soldering, 10 sec.) --- 235 c 8.2 operating conditions symbol parameter min. max. unit conditions d vdd ,a vdd supply voltage 3.135 3.465 v d vdd25 ,a vdd25 supply voltage 2.375 2.625 v tc case temperature 0 85 c @ta=0 ~ 7 
ta ambient temperature 0 70 c 100base-tx --- 93 ma 2.5v 100base-tx idle --- 91 ma 2.5v 10base-t tx --- 99 ma 2.5v 10base-t idle --- 40 ma 2.5v auto-negotiation --- 51 ma 2.5v power reduced mode (without cable) --- 29 ma 2.5v pd (power dissipation) power-down mode --- 12 ma 2.5v comments stresses above those listed under ? absolute maximum ratings ? may cause permanent damage to the device. these are stress ratings only. functional operation of this device at these or any other conditions above those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability.
58 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 8.3 dc electrical characteristics (0 c preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 59 8.4 ac electrical characteristics & timing waveforms 8.4.1 pci clock specifications timing t high 2.0v 0.8v t r t f t low t cycle symbol parameter min. typ. max. unit conditions t r pci_clk rising time - - 4 ns - t f pci_clk falling time - - 4 ns - t cycle cycle time 25 30 - ns - t high pci_clk high time 12 - - ns - t low pci_clk low time 12 - - ns - 8.4.2 other pci signals timing diagram t off t h t su input t on output c lk 2.5v t val (max) t val (min) symbol parameter min. typ. max. unit conditions t val clk-to-signal valid delay 2 - 13 ns cload = 50 pf t on float-to-active delay from clk 2 - - ns - t off active-to-float delay from clk - - 28 ns - t su input signal valid setup time before clk 7 - - ns - t h input signal hold time from clk 0 - - ns -
60 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 8.4.3 boot rom timing symbol parameter min. typ. max. unit conditions t rc read cycle time - 50 - pci clock - t cbad bus command to first address delay - 18 - pci clock - t 1adl first address length - 8 - pci clock - t 2ad l second address length - 8 - pci clock - t 3ad l third address length - 8 - pci clock - t 4adl fourth address length - 7 - pci clock - t adtd end of address to trdy active - 1 - pci clock - 8.4.4 eeprom read timing romcs eeck eedo tcskd teckc tedsp tecsc symbol parameter min. typ. max. unit conditions t eckc serial rom clock eeck period - 2560 - ns - t ecsc read cycle time - 71680 - ns - t cskd delay from romcs high to eeck high - 1600 - ns - t edsp setup time of eedo to eeck - 960 - ns - frame# irdy# trdy# devsel# cbel[3:0] ad[31:0] m d [7:0] romcs tcb ad t1ad l t2ad l t3ad l t4ad l tad td tr c
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 61 8.4.5 tp interface symbol parameter min. typ. max. unit conditions t tr/f 100tx+/- differential rise/fall time 3.0 - 5.0 ns t tm 100tx+/- differential rise/fall time mismatch 0 - 0.5 ns t tdc 100tx+/- differential output duty cycle distortion 0 - 0.5 ns t t/t 100tx+/- differential output peak-to-peak jitter 0 - 1.4 ns x ost 100tx+/- differential voltage overshoot 0 - 5 % 8.4.6 oscillator/crystal timing symbol parameter min. typ. max. unit conditions t ckc osc cycle time 39.998 40 40.002 ns +/-50ppm t pwh osc pulse width high 16 20 24 ns t pwl osc pulse width low 16 20 24 ns 8.4.7 auto-negotiation and fast link pulse timing parameters symbol parameter min. typ. max. unit conditions t 1 clock/data pulse width - 100 - ns t 2 clock pulse to data pulse period 55.5 62.5 69.5 us data = 1 t 3 clock pulse to clock pulse period 111 125 139 us t 4 flp burst width - 2 - ms t 5 flp burst to flp burst period 8 16 24 ms - clock/data pulses in a burst 17 33 # 8.4.8 fast link pulses fast link pulses clock pulse data pulse clock pulse t 1 t 2 t 3 flp burst flp burst t 4 t 5 flp bursts t 1
62 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 9. application notes 9.1 network interface signal routing place the transformer as close as possible to the rj-45 connector. place all the 50 ? resistors as close as possible to the DM9102D rx ? and tx ? pins. traces routed from rx ? and tx ? to the transformer should run in close pairs directly to the transformer. the designer should be careful not to cross the transmit and receive pairs. as always, vias should be avoided as much as possible. the network interface should be void of any signals other than the tx ? and rx ? pairs between the rj-45 to the transformer and the transformer to the DM9102D. there should be no power or ground planes in the area under the network side of the transformer to include the area under the rj-45 connector (refer to figure 9-4-1 and 9-5). keep chassis ground away from all active signals. the rj-45 connector and any unused pins should be tied to chassis ground through a resistor divider network and a 2kv bypass capacitor. the band gap resistor should be placed as physically close to pin 101 and 102 as possible (refer to figure 9-1 and 9-2 ). the designer should not run any high-speed signal near the band gap resistor placement. 9.2 10base-t/100base-tx application figure 9-1
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 63 9.3 10base-t/100base-tx (power reduction and non-auto mdix application) figure 9-2
64 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 9.4 power supply decoupling capacitors ? place all the decoupling capacitors for all the power supply pins as close as possible to the power pads of the DM9102D (no more than 2.5mm from the pins mentioned above.) the recommended decoupling capacitor is 0.1 ? f or 0.01 ? f. ? the decoupling of pcb layout and power supply should provide sufficient decoupling to achieve the following when measured at the device: (1) all dvdds and avdds should be within 50m vpp of each other, (2) all dgnds and agnds should be within 50m vpp of each other. (3) the resultant ac noise voltage measured across each dvdd/dgnd set and avdd/agnd set should be less than 100m vpp. ? the 0.1-0.01 ? f decoupling capacitor should be connected between each dvdd/dgnd set and avdd/agnd set be placed as close as possible to the pins of DM9102D. the conservative approach is to use two decoupling capacitors on each dvdd/dgnd set and avdd/agnd set. the 0.1f capacitor is used for low frequency noise and the 0.01f one is for high frequency noise on the power supply. ? the avdd connection to the transmit center tap of the magnetic has to be well decoupled to minimize common mode noise injection from the power supply into the twisted pair cable. it is recommended that a 0.01 f decoupling capacitor should be placed between the center tap avdd to agnd ground plane. this decoupling capacitor should be placed as close as possible to the center tap of the magnetic. figure 9-3
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 65 9.5 ground plane layout ? place a single ground plane approach to minimize emi. bad ground plane partitioning can cause more emi emissions that could make the network interface card (nic) not compliant with specific fcc part 15 and ce regulations. ? the ground plane must be separated into analog ground domain and digital ground domain. the line which connects the analog ground domain and digital ground domain should be far away from the agnd pins of DM9102D (see figure 9-4-1). ? all agnd pins (pin 100, 107, 108) could not directly short each other (see figure 9-4-3). it must be directly connected to the analog ground domain (see figure 9-4-2). ? the analog ground domain area is as large as possible figure 9-4-1 analog ground domain digital ground domain agnd agnd agnd better analog ground domain digital ground domain agnd agnd agnd worse! agnd direct short figure 9-4-2 figure 9-4-3 25mhz x ' tal
66 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 9.6 power plane partitioning ? the power planes are a pproximately illustrated in figure 9-4. the ferrite bead used should have an impedance 100 ? at 100mhz and 250ma above. a suitable bead is the panasonic surface mound bead, part number exccl4532u or an equivalent. 10 ? f, 0.1 ? f and 0.01 ? f electrolytic bypass capacitors should be connected between vdd and gnd at each side of the ferrite bead. ? separate analog power planes from noisy logic power planes. figure 9-5
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 67 9.7 magnetics selection guide ? refer to the following tables 9-1 and 9-2 for 10/100m magnetic sources and specification requirements. the magnetics which meets these requirements are available from a variety of magnetic manufacturers. designers should test and qualify all magnetic specifications before using them in an application. the magnetics listed in the following tables are electrical equivalents, but may not be pin-to-pin equivalents. ? manufacturer part number pulse engineering pe-68515, h1078, h1012, h1102 delta lf8200, lf8221x ycl 20pmt04, 20pmt05 halo tg22-3506nd, tg22-3506g1, tg22-s010nd tg22-s012nd nano pulse inc. npi 6181-37, npi 6120-30, npi 6120-37, npi 6170-30 fil-mag pt41715 bel fuse s558-5999-01 valor st6114, st6118 macronics hs2123, hs2213 bothhand ts6121cx, lu1s041cx ts6121c,16st8515,16st1086 table 9-1: 10/100m magnetic sources parameter values units test condition tx / rx turns ratio 1:1 ct / 1:1 - - inductance 350 h ( min ) - insertion loss 1.1 db ( max ) 1 ? 100 mhz -18 db ( min ) 1 ?30 mhz -14 db ( min ) 30 ? 60 mhz return loss -12 db ( min ) 60 ? 80 mhz -40 db ( min ) 1 ? 60 mhz differential to common mode rejection -30 db ( min ) 60 ? 100 mhz transformer isolation 1500 v - table 9-2: magnetic specification requirements
68 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 9.8 crystal selection guide ? a crystal can be used to generate the 25mhz reference clock instead of an oscillator. the crystal must be a fundamental type, series-resonant, connected to x1 and x2, and shunt to ground with 22pf capacitors. (see table 9-3 and figure 9-66.) parameter spec type fundamental, series-resonant frequency 25 mhz +/-0.005% equivalent series resistance 25 ohms max load capacitance 22 pf typ. case capacitance 7 pf max. power dissipation 1mw max. table 9-3: crystal specifications 97 98 x1 x2 a gnd a gnd 22pf 25mhz 22pf figure 9-6 crystal circuit diagram
preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 69 10. package information lqfp 128l outline dimensions unit: inches/mm - -  %fubjm' d "  "  " 4fbujoh1mbof ( % 4ff%fubjm' ) % % & ) & ' d y       c  f symbol dimensions in in ches dimensions in mm a 0.063 max. 1.60 max. a 1 0.004 0.002 0.1 0.05 a 2 0.055 0.002 1.4 0.05 b 0.006 +0.003 ?0.001 0.16 +0.07 ?0.03 c 0.006 0.002 0.15 0.05 d 0.551 0.005 14.00 0.13 e 0.551 0.005 14.00 0.13 e 0.016 bsc. 0.40 bsc. f 0.494 nom. 12.56 nom. g d 0.606 nom. 15.40 nom. h d 0.630 0.006 16.00 0.15 h e 0.630 0.006 16.00 0.15 l 0.024 0.006 0.60 0.15 l 1 0.039 ref. 1.00 ref. y 0.003 max. 0.08 max. 0 ~ 12 0 ~ 12 notes:  1. dimension d & e do not include resin fins. 2. dimension g d is for pc board surface mount, pad pitch design reference only. 3. all dimensions are based on metric system.
70 preliminary datasheet version: DM9102D-ds-p02 jan. 14, 2005 11. ordering information part number pin count package DM9102De 128 lqfp disclaimer the information appearing in this publication is believed to be accurate. integrated circuits sold by davicom semiconductor are covered by the warranty and patent indemnification, and the provisions stipulated in the terms of sale only. davicom makes no warranty, express, statutory, implied or by description, regarding the information in this publication or regarding the freedom of the described chip(s) from patent infringement. further, davicom makes no warranty of merchantability or fitness for any purpose. davicom reserves the right to halt production or alter the specifications and prices at any time without notice. accordingly, the reader is cautioned to verify that the data sheets and other information in this publication are current before placing orders. products described herein are intended for use in normal commercial applications. applications involving unusual environmental or reliability requirements, e.g. military equipment or medical life support equipment, are specifically not recommended without additional processing by davicom for such applications. please note that application circuits illustrate d in this document are for reference purposes only. davicom?s terms and conditions printed on the order acknowledgment govern all sales by davicom. davicom will not be bound by any terms inconsistent with these unless davicom agrees otherwise in writing. acceptance of the buyer?s orders shall be based on these terms. company overview davicom semiconductor, inc. develops and manufactures integrated circuits for integration into data communication products. our mission is to design and produce ic products that are the industry?s best value for data, audio, video, and internet/intranet applications. to achieve this goal, we have built an organization that is able to develop chipsets in response to the evolving technology requirements of our customers while still delivering products that meet their cost requirements. products we offer only products that satisfy high performance requirements and which are compatible with major hardware and software standards. our currently available and soon to be released products are based on our proprietary designs and deliver high quality, high performance chipsets that comply with modem communication standards and ethernet networking standards. contact windows for additional information about davicom products, contact the sales department at: headquarters hsin-chu office: no.6 li-hsin rd. vi, science-based park, hsin-chu city, taiwan, r.o.c. tel: 886-3-5798797 fax: 886-3-6669831 warning conditions beyond those listed for the absolute maximum may destroy or damage the products. in addition, conditions for sustai ned periods at near the limits of the operating ranges will stress and may temporarily (and permanently) affect and damage structure, performance a nd/or function.


▲Up To Search▲   

 
Price & Availability of DM9102D

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X